1. 程式人生 > >javascript push()、shift()、pop()、unshift()實現簡單導航輪播效果

javascript push()、shift()、pop()、unshift()實現簡單導航輪播效果

 最近做一個本來只有三期活動的頁面,後面偉大的需求說後面需求可能增加到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();
            }
       })
    }