亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery圖片滾動圖片的效果(另類實現)

2019-11-20 22:40:21
字體:
來源:轉載
供稿:網友

需求 : 圖片切換的時候下一屏不允許出現空白的項,換句話說就是 :

  1、當移動的最后一屏移動的個數小于要展示的個數的時候 ,只移動(展示個數-最后一屏的個數的)差值。 舉個例子: 每一屏都要展示7個,但總個數才10個,滾動到下一屏時候用戶看到的還是7個,這個時候需要移動的是三個

這個效果是基于jQuery寫的,只是想紀念下自己的學習 話不多說了,貼代碼

復制代碼 代碼如下:

(function( $ ){
     var slider = function( elem , args ){
         this.config = $.extend({
             effect   : 'x', //效果  水平 - x
             speed    : 600 , //動畫速度
             trigger  : 'mouseenter', //觸發事件
             callback : null , // 回調函數
             view     : 7
         }, args || {}  );

         this.history = [];//記錄移動的歷史記錄
         this.index = 0;
         this.el = elem;
         this.length = this.el.find('li').length;//記錄總長度
         this.width = this.el.find('li').eq(0).outerWidth();//記錄每一個單項的寬度
         this.init();
     }
     slider.prototype = {
         constructor : slider,
         init : function(){
             this.bindEvents();
         },
         bindEvents : function(){
             this.prev();
             this.next();
         },
         prev :  function(){
             this.el.find('[data-type="left"]').click( $.proxy(function(){

                 if( !this.history.length ) return;//如果記錄為空,證明沒有進行移動過,所以直接return

                 this.index--;
                 var step = this.history.pop();//取最后的移動步驟
                 var move =  step * this.width;//算出移動寬度
                 this.el.find("ul").animate( { "left" : "+="+move+"px" } , this.config.speed )

             } , this));
         },
         next : function(){
             this.el.find('[data-type="right"]').click( $.proxy(function(){
                 //如果是當前的最后一頁,直接return
                 if(this.index == parseInt( this.length / this.config.view , 10 ) ){
                     return;
                 }
                 this.index++;
                 //這個計算很重要
                 //計算 ( 下一頁 * view ) 展示個數是否大于總長度 : 好比當前在第一頁 (1+1) *7 > 12(總長度)
                 //則this.step 賦值為取余 ,也就是剩下要移動的個數
                 if( this.config.view * (this.index+1) > this.length ){
                     this.step =  this.length%this.config.view;
                 }else{
                     //否則移動展示的個數
                     this.step = this.config.view;
                 }
                 //記錄移動的歷史記錄
                 this.history.push(this.step);
                 var move = -1 * this.step * this.width;
                 this.el.find("ul").animate( { "left" : "+="+move+"px" } , this.config.speed )

             } , this));
         }
     }

     $.fn.slider = function( args ){
         return this.each(function(){
             var el = this;
             var plugins = new slider( $( el ) , args );
             $(el).data("slider" , plugins );
         });
     }
 })(jQuery)

開始對這個實現沒有好的想法,本來想利用一個變量記錄當前的移動個數的,但是后面突然想到用數組來做這樣子的處理,頓時感覺清晰了。

這個的實現重點是一個記錄移動步驟的數組。向左移動的時候往數組里面push移動的步驟,向右移動的時候,從數組里面取最后一項 [].pop()。

這樣子很好的實現了需求,做的比較粗糙,麻煩各位大神提點意見

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中国日韩欧美久久久久久久久| 日韩在线观看精品| 亚洲精品美女在线观看播放| 国内精品久久久久影院优| 欧美成人小视频| 一区二区三区视频免费在线观看| 欧美精品videosex极品1| 久久久在线免费观看| 欧美二区在线播放| 国产一区二区av| 国产成人午夜视频网址| 91精品国产91久久久久久| 成人深夜直播免费观看| 亚洲大胆美女视频| 亚洲精品日韩久久久| 97在线免费观看视频| 国产精品电影网| 精品色蜜蜜精品视频在线观看| 中文亚洲视频在线| 欧美极品第一页| 亚洲精美色品网站| 亚洲а∨天堂久久精品喷水| 亚洲**2019国产| 成人在线视频福利| 国产99久久精品一区二区永久免费| 日本亚洲精品在线观看| 国产亚洲免费的视频看| 日韩a**站在线观看| 国产精品video| 成人h片在线播放免费网站| 亚洲女人天堂成人av在线| 欧美精品免费在线观看| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产精品视频久久久久| 91精品国产网站| 日韩欧美国产高清91| 久久亚洲国产精品成人av秋霞| 视频在线一区二区| 岛国av一区二区在线在线观看| 亚洲91精品在线观看| 91精品国产色综合久久不卡98| 亚洲天堂2020| 欧美限制级电影在线观看| 日韩av影视综合网| 7777kkkk成人观看| 亚洲人线精品午夜| 亚洲第五色综合网| 欧美亚洲国产另类| 亚洲天堂影视av| 欧美一区二区色| 成人精品久久av网站| 韩国欧美亚洲国产| 欧美电影院免费观看| 亚洲欧美一区二区三区四区| 91网站免费观看| 日韩精品欧美激情| 亚洲成色777777在线观看影院| 亚洲开心激情网| 欧美大片网站在线观看| 成人久久一区二区| 热久久免费视频精品| 国产中文字幕91| 国产精品爱久久久久久久| 欧美xxxx18国产| 国产裸体写真av一区二区| 欧美在线精品免播放器视频| 欧美国产日产韩国视频| 久久这里有精品视频| 青草青草久热精品视频在线观看| 国产一区二区免费| 美日韩精品免费观看视频| 18一19gay欧美视频网站| 久久久黄色av| 国产精品尤物福利片在线观看| 亚洲一区二区久久久久久| 日本久久中文字幕| 欧美区在线播放| 日韩精品一区二区三区第95| 国产精品视频一区二区高潮| 精品成人av一区| 欧美精品亚州精品| 国产精品直播网红| 最近2019中文字幕第三页视频| 国产视频精品一区二区三区| 久久影院模特热| 26uuu久久噜噜噜噜| 91伊人影院在线播放| 欧美激情一级精品国产| 国产精品久久视频| 麻豆精品精华液| 在线视频欧美日韩| 国产精品久久久久久久久免费看| 欧美成人高清视频| 亚洲人成网站999久久久综合| 26uuu日韩精品一区二区| 久久国产精彩视频| 啪一啪鲁一鲁2019在线视频| 欧美整片在线观看| 亚洲欧美精品伊人久久| 日本国产一区二区三区| 高清日韩电视剧大全免费播放在线观看| 日韩电影免费在线观看| 色噜噜亚洲精品中文字幕| 久久精品影视伊人网| 国产97在线播放| 久久亚洲综合国产精品99麻豆精品福利| 成人信息集中地欧美| 国产精品高清在线| 日韩欧美精品免费在线| 亚洲欧美国产高清va在线播| 青青精品视频播放| 性夜试看影院91社区| 日韩欧美视频一区二区三区| 国外日韩电影在线观看| 精品国内自产拍在线观看| 色噜噜国产精品视频一区二区| 国产香蕉97碰碰久久人人| 日本成熟性欧美| 欧美激情精品在线| 中文字幕亚洲综合| 欧美人与物videos| 亚洲精品第一国产综合精品| 隔壁老王国产在线精品| 色妞久久福利网| 久久精品国产亚洲精品| 日韩理论片久久| 亚洲国产一区自拍| 人妖精品videosex性欧美| 欧美日韩中文字幕在线视频| 欧美乱大交做爰xxxⅹ性3| 国产精品欧美亚洲777777| 亚洲欧美中文字幕| 92福利视频午夜1000合集在线观看| 亚洲国产精彩中文乱码av在线播放| 色与欲影视天天看综合网| 日韩精品中文在线观看| 91在线免费视频| 亚洲免费一在线| 久热爱精品视频线路一| 久久久噜噜噜久噜久久| 夜夜嗨av一区二区三区四区| 日韩欧美国产免费播放| 日韩电影在线观看永久视频免费网站| 欧美丰满片xxx777| 国产精品视频免费观看www| 国产精品久久久久久久9999| 色综合天天综合网国产成人网| 91精品久久久久久久久青青| 黑人巨大精品欧美一区二区免费| 亚洲精品一区二三区不卡| 国产日韩在线一区| 欧美又大粗又爽又黄大片视频| 中文字幕亚洲激情| 国产精品久久久久久久一区探花| 欧美激情一级精品国产| 日韩一区二区三区xxxx| 亚洲国产99精品国自产| 精品视频一区在线视频| 久久精品国产亚洲| 搡老女人一区二区三区视频tv| 亚洲一区二区三区四区在线播放| 在线观看日韩专区| 久久99精品久久久久久青青91| 欧日韩不卡在线视频|