zepto scrollTop 解决方法

之前自己遇到问题,网上找了一篇大牛写的代码

1:使用方法复制下面代码

$.fn.scrollTo =function(options){

         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

转载于:https://www.cnblogs.com/shenhailong/p/6068614.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值