本文實例為大家分享了js實現圖片切換的方法,供大家參考,具體內容如下
<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值獲得元素的函數
function $(id){
return document.getElementById(id);
}
//初始化函數
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事件,該事件執行切換圖片的函數
olLi[i].addEventListener('mouseover',changePicture,false);
olLi[i].index=i;//設置ol li的index序列號
}
}
//切換圖片
function changePicture(e){
e.target.className="current";//將選中的ol下的li的class屬性設置為current,e.target代表選中的li
//清除ol裡的空白節點
cleanWhitespace(ol);
//刪除除當前選中的li外其他li的class屬性值
nextNode=e.target.nextSibling;//當前節點的下一個節點
lastNode=e.target.previousSibling;//當前節點的前一個節點
while(nextNode){//將當前節點後所有的兄弟節點的class屬性清除
nextNode.setAttribute('class','');
nextNode=nextNode.nextSibling;
}
while(lastNode){//將當前節點前面所有的兄弟節點的class屬性清除
lastNode.className='';
lastNode=lastNode.previousSibling;
}
//實現切換圖片的功能
theImg.src=addressPic[this.index];
}
//清除ol下的空白節點
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事件,執行初始化函數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>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。