js圖片切換具體實現(xiàn)代碼
更新時間:2021年04月29日 14:48:23 作者:zengzeng91
這篇文章主要為大家詳細(xì)介紹了js實現(xiàn)圖片切換代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了js實現(xiàn)圖片切換的方法,供大家參考,具體內(nèi)容如下
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title></title>
<style>
*{
margin:0;
padding:0;
}
.all{
width:600px;
height:350px;
position:relative;
overflow:hidden;
margin:100px auto;
}
.all ul{
z-index:1;
position:relative;
}
.all ul li{
position:absolute;
top:0;
left:0;
}
.all ol{
position:absolute;
right:10px;
bottom:10px;
z-index:2;
}
.all ol li{
width:20px;
height:20px;
border:1px solid #fff;
background-color:#333;
float:left;
overflow:hidden;
margin-right:10px;
text-align:center;
line-height:20px;
color:#fff;
margin-top:10px;
font-weight:bold;
}
.all ol .current{
width:30px;
height:30px;
border:1px solid #f60;
color:#f60;
line-height:30px;
margin-top:0;
cursor:pointer;
}
</style>
<script>
//通過id值獲得元素的函數(shù)
function $(id){
return document.getElementById(id);
}
//初始化函數(shù)
function initial(){
olLi=document.getElementsByTagName('ol')[0].getElementsByTagName('li');//獲取ol下的li
ol=$('tab');//獲取ol元素
theImg=$('theImg');
//五張圖片的地址
addressPic=['01.jpg','02.jpg','03.jpg','04.jpg','05.jpg'];
//遍歷ol下的li
for(var i=0;i<olLi.length;i++){
//依次給每個li綁定mouseover事件,該事件執(zhí)行切換圖片的函數(shù)
olLi[i].addEventListener('mouseover',changePicture,false);
olLi[i].index=i;//設(shè)置ol li的index序列號
}
}
//切換圖片
function changePicture(e){
e.target.className="current";//將選中的ol下的li的class屬性設(shè)置為current,e.target代表選中的li
//清除ol里的空白節(jié)點
cleanWhitespace(ol);
//刪除除當(dāng)前選中的li外其他li的class屬性值
nextNode=e.target.nextSibling;//當(dāng)前節(jié)點的下一個節(jié)點
lastNode=e.target.previousSibling;//當(dāng)前節(jié)點的前一個節(jié)點
while(nextNode){//將當(dāng)前節(jié)點后所有的兄弟節(jié)點的class屬性清除
nextNode.setAttribute('class','');
nextNode=nextNode.nextSibling;
}
while(lastNode){//將當(dāng)前節(jié)點前面所有的兄弟節(jié)點的class屬性清除
lastNode.className='';
lastNode=lastNode.previousSibling;
}
//實現(xiàn)切換圖片的功能
theImg.src=addressPic[this.index];
}
//清除ol下的空白節(jié)點
function cleanWhitespace(oElement)
{
for(var i=0;i<oElement.childNodes.length;i++){
var node=oElement.childNodes[i];
if(node.nodeType==3 && !/\S/.test(node.nodeValue)){
node.parentNode.removeChild(node)
}
}
}
//給窗體綁定load事件,執(zhí)行初始化函數(shù)initial()
window.addEventListener('load',initial,false);
</script>
</head>
<body>
<div class="all">
<ul>
<li><img id="theImg" src="01.jpg" width="600px" height="350px"/></li>
</ul>
<ol id="tab">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li class="current">5</li>
</ol>
</div>
</body>
</html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
全面解析Bootstrap中transition、affix的使用方法
這篇文章主要為大家詳細(xì)解析了Bootstrap中transition、affix的使用方法,感興趣的朋友可以參考一下2016-05-05
JavaScript子類用Object.getPrototypeOf去調(diào)用父類方法解析
這篇文章主要介紹了JavaScript子類用Object.getPrototypeOf去調(diào)用父類方法。需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12
JS 動態(tài)加載js文件和css文件 同步/異步的兩種簡單方式
下面小編就為大家?guī)硪黄狫S 動態(tài)加載js文件和css文件 同步/異步的兩種簡單方式。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09
利用select實現(xiàn)年月日三級聯(lián)動的日期選擇效果【推薦】
關(guān)于select控件,可能年月日三級聯(lián)動的日期選擇效果是最常見的應(yīng)用了。本文將對日期選擇效果進(jìn)行詳細(xì)介紹。需要的朋友一起來看下吧2016-12-12
淺談js構(gòu)造函數(shù)的方法與原型prototype
下面小編就為大家?guī)硪黄獪\談js構(gòu)造函數(shù)的方法與原型prototype。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07
JavaScript利用el-table實現(xiàn)繪制熱度表
這篇文章主要為大家詳細(xì)介紹了JavaScript如何利用el-table實現(xiàn)繪制熱度表,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-03-03

