zepto scrollTop 解決方法

以前本身遇到問題,網上找了一篇大牛寫的代碼javascript

1:使用方法複製下面代碼html

$.fn.scrollTo =function(options){java

         var  defaults = {
             toT : 0,     //滾動目標位置
             durTime : 500,   //過渡動畫時間
             delay : 30,      //定時器時間
             callback: null    //回調函數
         };
         var  opts = $.extend(defaults,options),
             timer =  null ,
             _this =  this ,
             curTop = _this.scrollTop(), //滾動條當前的位置
             subTop = opts.toT - curTop,     //滾動條目標位置和當前位置的差值
             index = 0,
             dur = Math.round(opts.durTime / opts.delay),
             smoothScroll =  function (t){
                 index++;
                 var  per = Math.round(subTop/dur);
                 if (index >= dur){
                     _this.scrollTop(t);
                     window.clearInterval(timer);
                     if (opts.callback &&  typeof  opts.callback ==  'function' ){
                         opts.callback();
                     }
                     return ;
                 } else {
                     _this.scrollTop(curTop + index*per);
                 }
             };
         timer = window.setInterval( function (){
             smoothScroll(opts.toT);
         }, opts.delay);
         return  _this;
     };
2:調用方法:$("body").scrollTo({toT:500});距離、時間還有回調函數參數傳遞就好了
 
轉自:http://www.cnblogs.com/skyHF/p/4720308.html
相關文章
相關標籤/搜索