1. 程式人生 > >仿京東輪播圖詳解版jQuery

仿京東輪播圖詳解版jQuery

$(function () { var index = 0;//用index記錄下標,預設為0 var lis = $('.slider li'); //1.右邊箭頭點選事件 $('.arrow-right').click(right); //右箭頭點選事件處理函式 function right() { index++; //如果當前是最後一張,此時index=lis.length-1,index++後index=lis.length // 此時應讓index=0 if (index == lis.length) { index = 0
; } //顯示對應下標的圖片,讓其他兄弟隱藏 lis.eq(index).fadeIn().siblings().fadeOut(); //給對應下標的小圓點按鈕新增current類名,其他兄弟移除current類名 $('.focus i').eq(index).addClass('current').siblings().removeClass('current'); } //2.左邊箭頭點選事件 $('.arrow-left').click(function () { index--; //如果當前是第一張(index=0),index--後,index<0,此時應顯示最後一張,讓index=lis.length-1
if (index < 0) { index = lis.length - 1; } //顯示對應下標的圖片,讓其他兄弟隱藏 lis.eq(index).fadeIn().siblings().fadeOut(); //給對應下標的小圓點按鈕新增current類名,其他兄弟移除current類名 $('.focus i').eq(index).addClass('current').siblings().removeClass('current'); }) //3.底部圓點按鈕滑鼠移入事件
btns = $('.focus i'); for (var i = 0; i < btns.length; i++) { //設定index屬性,記錄當前下標 btns.eq(i).attr('index', i); //給btn註冊滑鼠移入事件 btns.eq(i).mouseenter(fn); } //btn的事件處理函式 function fn() { var index = $(this).attr('index'); lis.eq(index).fadeIn().siblings().fadeOut(); $(this).addClass('current').siblings().removeClass('current'); } //4.自動輪播 //先執行一次定時器 var timeid = setInterval(function () { right() }, 3000) //滑鼠移出div時,設定定時器,呼叫右邊箭頭的點選事件 $('.slider').mouseleave(function () { timeid = setInterval(function () { right() }, 3000) }) //滑鼠移入div時,清除定時器 $('.slider').mouseenter(function(){ clearInterval(timeid) }) })