javascript push()、shift()、pop()、unshift()實現簡單導航輪播效果
阿新 • • 發佈:2019-02-02
最近做一個本來只有三期活動的頁面,後面偉大的需求說後面需求可能增加到n期,所以有一個以三期活動為一組的輪播,實現輪播的外掛太多了,但是後端說不希望用外掛,因為他那邊可能要變動,所以就手動實現了一個簡單的輪播效果
var length=$('.ul-nav li').length; var count=0; if(length>3){ $('.pre-btn,.next-btn').show(); ul_navs=chunks($('.ul-nav li'),3); ul_current.push(ul_navs[0]); for(var i=1;i<ul_navs.length;i++){ console.log(ul_navs[i]) ul_next.push(ul_navs[i]); $.each(ul_navs[i],function(index,value){ console.log(value) $(value).addClass('dismiss') }) } } //導航切換 $('.next-btn').click(function(){ console.log(ul_prev); if(ul_next.length==0){ return false; } $.each(ul_current,function(index,value){ $(value).addClass('dismiss'); }) ul_prev.push(ul_current[0]); ul_current.shift(); ul_current.push(ul_next.shift()); chageClass(); }) $('.pre-btn').click(function(){ if(ul_prev==undefined||ul_prev.length==0){ return false; } $.each(ul_current,function(index,value){ $(value).addClass('dismiss'); }) ul_next.unshift(ul_current[0]); ul_current.shift(); ul_current.push(ul_prev.pop()); chageClass(); }) function chageClass(){ $.each(ul_current[0],function(index,value){ $(value).removeClass('dismiss'); if(index==0){ $(value).addClass('active').siblings().removeClass('active'); var _index=$(value).attr('data-index'); $('.ul-group').eq(_index).show().siblings('.ul-group').hide(); } }) }