您好,登錄后才能下訂單哦!
這篇文章主要介紹JS如何實(shí)現(xiàn)圖片輪播與索引變色功能,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
具體代碼如下所示:
<!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>無(wú)標(biāo)題文檔</title> <style type="text/css"> #tupian{ width:290px; height:160px; border:#0F9 solid 1px} .tp{ width:220px; height:160px; float:left} .li{ margin-top:10px;list-style:none; border:#00F solid 1px; width:20px;} </style> </head> <body> <div id="tupian"> <div class="tp" onmouseover="sbfs()" onmouseout="jixu()"><img src="../../項(xiàng)目素材/圖片/84372.jpg" /></div> <div class="tp" onmouseover="sbfs()" onmouseout="jixu()" ><img src="../../項(xiàng)目素材/圖片/84610.jpg" /></div> <div class="tp" onmouseover="sbfs()" onmouseout="jixu()" ><img src="file:///C|/Users/gaofangquan/Desktop/項(xiàng)目素材/圖片/84246.jpg" /></div> <div class="tp" onmouseover="sbfs()" onmouseout="jixu()" ><img src="../../項(xiàng)目素材/圖片/84639 (1).jpg" /></div> <div id="xuanxiang" > <ul> <li class="li" onmouseover="xz(this),xuanzhong(this)" onmouseout="shuzilikai()">1</li> <li class="li" onmouseover="xz(this),xuanzhong(this)" onmouseout="shuzilikai()">2</li> <li class="li" onmouseover="xz(this),xuanzhong(this)" onmouseout="shuzilikai()">3</li> <li class="li" onmouseover="xz(this),xuanzhong(this)" onmouseout="shuzilikai()">4</li> </ul> </div> </div> </body> <script type="text/jscript"> var aaaa=document.getElementsByClassName("tp") var bbb=document.getElementsByClassName("li") var index=0; lunbo(); function lunbo(){ xianshi(); if( index<aaaa.length-1){ index++;} else{index=0;}} var a=window.setInterval("lunbo()",1000) //圖片與數(shù)列的背景同時(shí)變化 function xianshi(){ for( var i=0;i<aaaa.length;i++){ aaaa[i].style.display="none" bbb[i].style.backgroundColor="white"} aaaa[index].style.display="block" bbb[index].style.backgroundColor="red"} //鼠標(biāo)放在數(shù)列上背景變色<br>function xz(n){ var b=document.getElementsByClassName("li") for( var i=0; i<b.length; i++){ b[i].style.backgroundColor="white"} n.style.backgroundColor="red"} //當(dāng)鼠標(biāo)放到圖片上的時(shí)候,圖片停止輪播 function sbfs(){ window.clearInterval(a)} //當(dāng)鼠標(biāo)離開(kāi)圖片的時(shí)候,輪播繼續(xù) function jixu(){ a=window.setInterval("lunbo()",1000);} //鼠標(biāo)放上,圖片與相對(duì)應(yīng)的li的值得索引顯示出來(lái) function xuanzhong(m){ var ccc=document.getElementsByClassName("tp") index=m.innerHTML-1;// 因?yàn)閙.innerhtml 獲取的時(shí)數(shù)列l(wèi)i的值,比ccc的索引大1,所以應(yīng)該減去1; //把獲取的值賦給index是因?yàn)槿绻匦露x一個(gè)變量的話,當(dāng)鼠標(biāo)離開(kāi)li的時(shí)候,圖片輪播的索引很亂, for( var i=0;i<ccc.length;i++){ ccc[i].style.display="none"} ccc[index].style.display="block" window.clearInterval(a)} //鼠標(biāo)離開(kāi)讓圖片自動(dòng)切換 function shuzilikai(){ a=window.setInterval("lunbo()",1000)} </script> </html>
1、js圖片輪播首先要先獲取所有圖片的對(duì)象,用數(shù)組接受,然后定義一個(gè)變量作為數(shù)組的索引。
2、讓圖片顯示(先讓所有的圖片隱藏,再讓當(dāng)前圖片顯示),索引自增1。注意:在寫(xiě)定時(shí)器的時(shí)候可以寫(xiě)延時(shí)的也可以寫(xiě)間歇的。在這里我寫(xiě)間歇的。
3、鼠標(biāo)放在圖片上停止輪播,這里我們可以清除定時(shí)器window.clearInterval(a);鼠標(biāo)離開(kāi)圖片輪播繼續(xù)再重新啟動(dòng)定時(shí)器a=window.setInterval("lunbo()",1000),這里注意要給定時(shí)器定義一個(gè)值,因?yàn)榍宄〞r(shí)器要用。
4、鼠標(biāo)放上,圖片與相對(duì)應(yīng)的li的值得索引顯示出來(lái),讓獲取的數(shù)列的值賦給數(shù)組的索引(index=m.innerHTML-1),因?yàn)閙.innerhtml 獲取的時(shí)數(shù)列l(wèi)i的值,比數(shù)組的索引大1,所以應(yīng)該減去1;
以上是“JS如何實(shí)現(xiàn)圖片輪播與索引變色功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。