用jquery實現輪播圖
阿新 • • 發佈:2021-08-18
本文例項為大家分享了用實現輪播圖的具體程式碼,供大家參考,具體內容如下
(帶小圓點和左右箭頭切換效果的)
原理:定義索引,定時任務實現輪播切換,切換時同樣需要切換小圓點的樣式
var j = 0;//定義索引,圖片和小圓點共用 var cusTimer;//定義定時函式 $('.cons-middle .cons-mid').eq(0).show().siblings().hide();//定義預設的顯示圖片,也就是索引為0的那張圖片 cusStart();//開始實現圖片輪播,用到了定時器 $('.luobo-circle li').hover(function(){//當滑鼠運動到某個小圓點是,切換圖片 clearInterval(cusTimer);//並且清除定時 j=$(this).index();//獲取當前滑鼠運動到的小圓點的索引 cusChange();//執行切換圖片的函式 }); $('.luobo-circle li').mouseleave(function(){ cusStart();//定義當滑鼠離開小圓點時繼續執行定時函式,輪播開始 }); $('.cons-left img').click(() => { j--; if (j < 0) { j = 3; }; cusChange(); $('.luobo-circle li').eq(j).('background-color','#4C80E7') $('.luobo-circle li').eq(j).siblings().css('background-color','#B5C9F3'); }); $('.cons-right img').click(() => { j++; if (j > 3) { XOZEeTHEGPj = 0; } cusChange(); $('.luobo-circle li').eq(j).css('background-color','#4C80E7') $('.luobo-circle li').eq(j).siblings().css('background-color','#B5C9F3'); }) function cusStart(){//輪播開始函式 cusTimer = setInterval(function(){//自動輪播定時函式 j++;//索引進行累加,防止圖片只顯示一張 if(j==4){ j=0;//我這裡是用的8張圖片,當索引為8時,圖片沒有了,將索引清零 } cusChange();//繼續執行圖片輪播 },5000)//2000是多久切換一次圖片,表示兩秒 }; function cusChange(){//圖片顯示函式,這裡的fadeOut和fadeIn是圖片顯示方式是淡入淡出 $('.cons-middle .cons-mid').eq(j).fadeIn(300).siblings().stop().fadeOut(300); //eq選擇當前圖片,siblings表示排除其他圖片,stop表示其他圖片停止切換,只切換當前圖片 $('.luobo-circle li').eq(j).css('background-color','#B5C9F3'); }
(無小圓點,僅自動輪播及左右切換)
//首頁banner輪播 var i = 0; var bannerTimer; function bannerChange(){//圖片顯示函式,這裡的fadeOut和fadeIn是圖片顯示方式是淡入淡出 $('.banner ul li').eq(i).fadeIn(300).siblings().stop().fadeOut(300); } function bannerStart(){//輪播開始函式 bannerTimer = setInterval(function(){//自動輪播定時函式 i++; if(i==2){ XOZEeTHEGP i=0; } bannerChange(); },3000) }; $('.banner ul li').eq(0).show().siblings().hide(); bannerStart(); $('.pagination .prev').click(() => { i--; if (i < 0) { i = 2; }; bannerChange(); }); $('.pagination .next').click(() => { i++; if (i > 2) { i = 0; } bannerChange(); });
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。