js實(shí)現(xiàn)按鈕控制帶有停頓效果的圖片滾動(dòng)
本文實(shí)例使用js實(shí)現(xiàn)帶有停頓效果的圖片滾動(dòng),受按鈕控制,供大家參考,具體內(nèi)容如下
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>無縫滾動(dòng)2</title> <style> #warp{ width: 1250px; height: 300px; overflow: hidden; margin:100px auto 0; overflow-x: auto; } #warp #con{ width: 4000px; height: 300px; overflow: hidden; } #warp #con #box1{ float: left; overflow: hidden; } #warp #con #box2{ float: left; overflow: hidden; } #warp img{ float: left; margin-right: 10px; width: 200px; height: 300px; } .btn{ text-align: center; margin-top: 10px; } .btn button{ font-size: 16px; } </style> </head> <body> <div id="warp"> <div id="con"> <div id="box1"> <img src="images/meinv1.jpg" alt=""> <img src="images/meinv2.jpg" alt=""> <img src="images/meinv3.jpg" alt=""> <img src="images/meinv4.jpg" alt=""> <img src="images/meinv5.jpg" alt=""> <img src="images/meinv6.jpg" alt=""> </div> <div id="box2"></div> </div> </div> <div class="btn"> <button id="scrollL"><<左滾</button> <button id="scrollR">右滾>></button> </div> <script> var warp=document.getElementById('warp'); var con=document.getElementById('con'); var box1=document.getElementById('box1'); var box2=document.getElementById('box2'); var img=box1.getElementsByTagName('img')[0]; var scrollL=document.getElementById('scrollL'); var scrollR=document.getElementById('scrollR'); var timer1=null,timer2=null,flage=1; box2.innerHTML=box1.innerHTML; max=box1.clientWidth; imgmax=img.clientWidth+10; function scrollLeft(){ flage=1; clearInterval(timer1); timer1=setInterval(function(){ warp.scrollLeft++; if (warp.scrollLeft>=max) { warp.scrollLeft=0; } if(warp.scrollLeft%imgmax==0){ clearInterval(timer1); clearTimeout(timer2); timer2=setTimeout(function(){ timer1=setInterval(scrollLeft,5) },2000) } },5) } function scrollRight(){ flage=0; clearInterval(timer1); timer1=setInterval(function(){ warp.scrollLeft--; if (warp.scrollLeft<=0) { warp.scrollLeft=max; } if(warp.scrollLeft%imgmax==0){ clearInterval(timer1); clearTimeout(timer2); timer2=setTimeout(function(){ timer1=setInterval(scrollRight,5) },2000) } },5) } scrollLeft(); scrollL.onclick=function(){ // clearInterval(timer1); // clearTimeout(timer2); scrollLeft(); } scrollR.onclick=function(){ // clearInterval(timer1); // clearTimeout(timer2); scrollRight(); } warp.onmouseenter=function(){ clearInterval(timer1); clearTimeout(timer2); } warp.onmouseleave=function(){ clearInterval(timer1); clearTimeout(timer2); console.log(flage); if (flage) {scrollLeft();} else{scrollRight();} } </script> </body> </html>
這種效果的具體效果是鼠標(biāo)移上去滾動(dòng)停止,移出滾動(dòng),滾動(dòng)時(shí)是一張一張圖片的滾動(dòng),即滾動(dòng)一張之后停2s開始滾動(dòng)下一張,具體內(nèi)容請(qǐng)大家參考代碼。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
微信小程序停止其他視頻播放當(dāng)前視頻的實(shí)例代碼
這篇文章主要介紹了微信小程序停止其他視頻播放當(dāng)前視頻的實(shí)例代碼,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12JS實(shí)現(xiàn)頁面超時(shí)后自動(dòng)跳轉(zhuǎn)到登陸頁面
這篇文章主要介紹了JS實(shí)現(xiàn)頁面超時(shí)后自動(dòng)跳轉(zhuǎn)到登陸頁面,需要的朋友可以參考下2015-01-01實(shí)現(xiàn)js保留小數(shù)點(diǎn)后N位的代碼
最近在做項(xiàng)目的時(shí)候,遇到要保留小數(shù)點(diǎn)后N位的問題,經(jīng)過一番思索,最終完成了,這里記錄一下,下次需要直接就能拉出來用了2014-11-11javascript原始值和對(duì)象引用實(shí)例分析
這篇文章主要介紹了javascript原始值和對(duì)象引用的方法,實(shí)例分析了javascript原始值和對(duì)象引用的功能、定義與相關(guān)技巧,需要的朋友可以參考下2015-04-04js中頁面的重新加載(當(dāng)前頁面/上級(jí)頁面)及frame或iframe元素引用介紹
用JavaScript刷新上級(jí)頁面和當(dāng)前頁面在某些情況下還是比較實(shí)用的,感興趣的朋友可以了解下另外介紹一下frame或iframe元素的引用方法,希望本文對(duì)你有所幫助2013-01-01JavaScript性能優(yōu)化總結(jié)之加載與執(zhí)行
本文詳細(xì)介紹了如何正確的加載和執(zhí)行JavaScript代碼,從而提高其在瀏覽器中的性能。對(duì)JavaScript學(xué)習(xí)者很有幫助,有需要的可以參考學(xué)習(xí)。2016-08-08