jquery實現圖片切換: javascript實現圖片切換: ...
jquery實現圖片切換:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <title></title> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.js"></script> <script> $(function(){ var num2=6;//用於設置當前選中ol li的z-index值 $('ol li').mouseover(function(e){ $(this).attr('class','current'); $(this).siblings().attr('class',''); num2++; var num=$(this).index();//存ol li的序列號 $('ul li').eq(num).css('z-index',num2); $('ul li').eq(num).css('left','600px');//修改ul li對應的序列號的樣式,先把它的位置絕對定位到div外面 //$('ul li').eq(num).css('left','0');這句是靜態css,下一句是動態css $('ul li').eq(num).animate({left:'0'},50);//然後把它的位置又重新絕對定位到父元素上面 這樣就實現了一個動畫的效果 }); }); </script> <style> *{ padding:0;margin:0;border:0; } .all{/*div的寬高設置成和五張圖片的寬高一樣*/ width:600px; height:300px; margin:100px auto;/*div居中*/ position:relative;/*相對定位,便於子元素使用絕對定位*/ overflow:hidden;/*隱藏超出部分的圖片*/ } .all ul{ position:relative; z-index:1; } .all ul li{ position:absolute; left:0; top:0; } .all ol{ position:absolute; z-index:2;/*顯示在ul上面*/ right:10px; bottom:10px; } .all ol li{ width:20px; height:20px; background:#333; border:1px solid #ccc; font-weight:bold; text-align:center;/*左右居中*/ line-height:20px;/*文本上下居中*/ float:left; list-style:none; margin-left:10px; color:#ccc; margin-top:10px;/*讓放大的li和沒有放大的li下邊框對其*/ } .all ol .current{ width:30px; height:30px; line-height:30px; border:1px solid #f60; color:#f60; margin-top:0;/*讓放大的li和沒有放大的li下邊框對其*/ cursor:pointer;/*增強用戶體驗 變小手*/ } </style> </head> <body> <div class="all"> <ul> <li><img src="01.jpg" width="600" height="300"/></li> <li><img src="02.jpg" width="600" height="300"/></li> <li><img src="03.jpg" width="600" height="300"/></li> <li><img src="04.jpg" width="600" height="300"/></li> <li><img src="05.jpg" width="600" height="300"/></li> </ul> <ol> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li class="current">5</li> </ol> </div> </body> </html>
javascript實現圖片切換:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <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>