以前本身遇到問題,網上找了一篇大牛寫的代碼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;
};