亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

純CSS3實現(xiàn)圖片無間斷輪播效果

  發(fā)布時間:2016-08-25 11:30:33   作者:佚名   我要評論
圖片輪播效果在各大網(wǎng)站都能用到,本文給大家分享通過純css3制作輪播效果圖的思路,感興趣的朋友一起看看吧

前言:圖片輪播效果現(xiàn)在在各大網(wǎng)站都是非常普遍的,以前我們都是通過postion的left or right來控制dom的移動,這里我要說的是利用css3來制作輪播!相比以前通過postion來移動dom來說,css3的實現(xiàn)方式更為優(yōu)雅!

我相信使用過css3的童鞋們應(yīng)該都知道我們是用css哪個大哥屬性了吧!嗯,對的,就是translate3d我在前幾天還特地寫過一篇文章來介紹它,不熟悉的童鞋可以點(diǎn)擊關(guān)鍵字鏈接過去看看!知道的童鞋們,那我們繼續(xù)往下看!

效果圖如下所示:

首先,我們先說下思路

非無限循環(huán): 直接設(shè)置每次移動的位移數(shù)值,然后根據(jù)時間段執(zhí)行,比如索引從0-10,直接判斷是否到0了,最后是否到10了,然后到了0或者10的時候直接將索引設(shè)置我相反的索引數(shù)就可以了。

無限循環(huán): 無限循環(huán)的就需要考慮前后的銜接了,比如第一張圖跟最后一張圖,在執(zhí)行的最后一張圖的時候應(yīng)該會出現(xiàn)第一張圖,那么相反之下出現(xiàn)第一張圖然后往右翻的時候就應(yīng)該出現(xiàn)最后一張圖。那么這是這么做到的呢?其實很簡單,那就是clone克隆最后一個dom到第一個dom的前面,然后clone第一個dom到最后一個dom的后面,可能我這么說,大家聽起來有點(diǎn)暈。那么我們直接看看下面的代碼就知道原理了!

HTML:

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head lang="en">  
  4.     <meta charset="UTF-8">  
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">  
  6.     <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=0,minimal-ui">  
  7.     <meta content="yes" name="apple-mobile-web-app-capable" />  
  8.     <meta content="black" name="apple-mobile-web-app-status-bar-style" />  
  9.     <meta content="telephone=no" name="format-detection" />  
  10.     <title>輪播DEMO | 科博網(wǎng)-鐘科的個人博客</title>  
  11.     <style>  
  12.         *{ padding:0; margin:0; border:0; }   
  13.         .wrap{ position: relative; height: 500px; width:360px; overflow:hidden; border:1px solid #ccc; margin:10px auto;  }   
  14.         .wrap-list{ width:9999px; transform:translate3d(-360px,0,0); transition-delay: .3s; transition:ease; }   
  15.         .wrap-list img{ float:left; width:360px; height: 500px; }   
  16.         .btns{ text-align:center; }   
  17.         .btns button{ width:100px; height: 30px; }   
  18.     </style>  
  19. </head>  
  20. <body>  
  21. <div class="wrap">  
  22.     <div class="wrap-list">  
  23.         <!--這里需要clone-->  
  24.         <img src="http://img.mrco.cn/PKUgbaXooTzIz4TZQl7heAGF.jpg">  
  25.         <img src="http://img.mrco.cn/VQeqlUbGMLcGqpy-QnDjzyZn.jpg">  
  26.         <img src="http://img.mrco.cn/E32rcqdZn0uMt9JbXr0w0K95.jpg">  
  27.         <img src="http://img.mrco.cn/uWHhrhupbMphjzsYtS7IRSD_.jpg">  
  28.         <img src="http://img.mrco.cn/k2wZVNRo0YNU7i-wuC_-84Du.jpg">  
  29.         <img src="http://img.mrco.cn/PKUgbaXooTzIz4TZQl7heAGF.jpg">  
  30.         <!--這里需要clone-->  
  31.         <img src="http://img.mrco.cn/VQeqlUbGMLcGqpy-QnDjzyZn.jpg">  
  32.     </div>  
  33. </div>  
  34. <div class="btns">  
  35.     <button id="btnLeft"></button>  
  36.     <button id="btnRight"></button>  
  37. </div>  
  38. <script src="http://s.mrco.cn/scripts/libs/zepto/zepto.min.js?0.0.1"></script>  
  39. <script src="http://s.mrco.cn/scripts/libs/zepto/selector.js?0.0.1"></script>  
  40. <script src="http://s.mrco.cn/scripts//libs/zepto/touch.js?0.0.1"></script>  
  41. </body>  
  42. </html>  

JavaScript:

JavaScript Code復(fù)制內(nèi)容到剪貼板
  1. $(function(){   
  2.         var index = 1,          //默認(rèn)的當(dāng)前索引為1,因為clone了最有一個dom在第一個前面做銜接   
  3.             moveWidth = 360;    //每次需要移動的像素值   
  4.         //左移動   
  5.         $('#btnLeft').on('click',function(){   
  6.             //每次+1   
  7.             index++;   
  8.             //通過索引乘以移動像素值,那么就得到了移動的步位   
  9.             $('.wrap-list').css({ transform:'translate3d(-'+ (index * moveWidth) +'px,0,0);transition-duration: 0.3s;' });   
  10.             //這里的判斷是銜接的關(guān)鍵所在,如果當(dāng)前索引已經(jīng)是最后一個dom了,也就是我們clone好的這個dom了,那就說明已經(jīng)需要開始重新開始新的一輪了   
  11.             if(index == $('.wrap-list img').size() - 1){   
  12.                 //css3的動畫有一個300毫秒的執(zhí)行時間,所以我們這里也需要等待300毫秒后再進(jìn)行重置操作   
  13.                 setTimeout(function () {   
  14.                     //重置索引為1,相當(dāng)于重頭開始   
  15.                     index = 1;   
  16.                     //重置wrap盒子為默認(rèn)的其實位置開始,這里的css3的效果被去除了,所以看不出來有移動的效果,我們注意看transition-duration:0s;   
  17.                     $('.wrap-list').css({transform: 'translate3d(-' + (index * moveWidth) + 'px,0,0);transition-duration: 0s;'})   
  18.                 }, 300);   
  19.             }   
  20.         });   
  21.         //右移動   
  22.         $('#btnRight').on('click',function(){   
  23.             //每次減一   
  24.             index--;   
  25.             //通過索引乘以移動像素值,那么就得到了移動的步位   
  26.             $('.wrap-list').css({ transform:'translate3d(-'+ (index * moveWidth) +'px,0,0);transition-duration: 0.3s;' });   
  27.             //這里的判斷是銜接的關(guān)鍵所在,跟向右移是一個意思,等于0的時候就是到了clone的dom了,也就需要重新開始新的一輪了   
  28.             if(index === 0) {   
  29.                 //css3的動畫有一個300毫秒的執(zhí)行時間,所以我們這里也需要等待300毫秒后再進(jìn)行重置操作   
  30.                 setTimeout(function () {   
  31.                     //這里就需要設(shè)置到除去兩個clone的dom之外的最后一個dom索引來   
  32.                     index = $('.wrap-list img').size() - 2;   
  33.                     //重置wrap盒子為默認(rèn)的其實位置開始,這里的css3的效果被去除了,所以看不出來有移動的效果,我們注意看transition-duration:0s;   
  34.                     $('.wrap-list').css({transform: 'translate3d(-' + (index * moveWidth) + 'px,0,0);transition-duration: 0s;'})   
  35.                 }, 300);   
  36.             }   
  37.         });   
  38.     });  

以上所述是小編給大家介紹的純CSS3實現(xiàn)圖片無間斷輪播效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論