zepto實現輪播圖


 zepto是一個移動端的框架,語法幾乎跟jQuery一樣,

首先需要引入你需要的插件,需要什么就引入什么。

<!-- 導入zepto -->  

<script type="text/javascript" src='js/zepto.js'></script>  

  <!-- touch事件 -->

 <script type="text/javascript" src='js/touch.js'></script>  

html代碼:

<!--  輪播的圖片 -->  

<ul class="banner_imgs clearfix">  

          <li class="f_l"><href="#"><img src="images/l2.jpg" alt=""></a></li>

          <li class="f_l"><href="#"><img src="images/l3.jpg" alt=""></a></li>

          <li class="f_l"><href="#"><img src="images/l4.jpg" alt=""></a></li>     

 </ul>  

 <!-- 索引的 li標簽 -->

   <ul class="banner_index clearfix">

    <li class="f_l"></li>  

    <li class="f_l"></li>

     <li class="f_l"></li>

 </ul>  

css代碼:

.jd_banner .banner_imgs {  

  width: 1000%;  

  transform: translateX(-10%);  

  transition: all .3s;  

}  

.jd_banner .banner_imgs li {  

  width: 10%;  

}  

.jd_banner .banner_imgs li a {  

  display: block;  

  width: 100%;  

}  

.jd_banner .banner_imgs li a img {  

  width: 100%;  

  display: block;  

}  

.jd_banner .banner_index {  

  position: absolute;  

  bottom: 5px;  

  left: 50%;  

  margin-left: -48px;  

}  

.jd_banner .banner_index li {  

  /* 所有li的通用樣式 */  

  width: 6px;  

  height: 6px;  

  border-radius: 3px;  

  border: 1px solid white;  

  margin: 0 3px;  

}  

.jd_banner .banner_index li.current {  

  /*  當li標簽 擁有 .current的時候 會使用該樣式 */  

  background-color: white;  

}  

js代碼:

$(function(){  

    //自動輪播  

    //第一步獲取一些必要的值比如說索引,屏幕寬度,移動的ul  

    //和下面小圓點的index  

    var index=1;  

    var width=$('body').width();  

    var moveUl=$('.banner_imgs');  

    var index_li=$('.banner_index li');  

    //封裝ul移動的方法  

       var animateMoveUl=function(){  

        moveUl.animate({  

            "transform":"translate("+index*width*-1+"px)"  

        },300,"ease",function() {  

            if(index>=9){  

    index=1;  

                moveUl.css({"transiton":"none","transform":"translate("+index*width*-1+"px)"});  

            }else if(index<=0){  

      index=8;  

                moveUl.css({"transiton":"none","transform":"translate("+index*width*-1+"px)"});  

            }  

            //修改index的值  

            index_li.removeClass('current').eq(index-1).addClass('current');  

            //判斷timeId的值如果為undefined說明我們干掉了計時器這是要重新開啟定時器  

            if(timeId==undefined){  

    timeId = setInterval(function(){  

                        index++;  

                        animateMoveUl();  

                    },1000);  

            }  

        });  

    };  

    //定時器自動輪播  

    var timeId=setInterval(function(){  

        //對index進行累加  

        index++;  

        //調用移動ul的方法  

        animateMoveUl();  

    },1000);  

//左右滑動的右滑動  

    moveUl.swipeRight(function(){  

        clearInterval(timeId);  

        //這里要記住盡管計時器清楚了但是timeId一直都在  timeId=undefined;  

        index--;  

        //調用移動ul的方法  

        animateMoveUl();  

    });  

        moveUl.swipeLeft(function(){  

        clearInterval(timeId);  

        //這里要記住盡管計時器清楚了但是timeId一直都在  timeId=undefined;  

        index++;  

        //調用移動ul的方法  

        animateMoveUl();  

    });

});  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM