首页 > 代码库 > zepto scrollTop 解决方法

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

zepto scrollTop 解决方法