window.requestAnimFrame = (function(){ return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function( callback ){ window.setTimeout(callback, 1000 / 60); };})();function backTop(){ var scrollingElement = document.scrollingElement || document.documentElement || document.body; scrollingElement.scrollTop = scrollingElement.scrollTop - 10; console.log(scrollingElement.scrollTop == 0 ) if( scrollingElement.scrollTop == 0 ){ cancelAnimationFrame(aaa) } requestAnimFrame(backTop)};var aaa;function aa() { aaa = requestAnimFrame(backTop)}目前开始了不知道是怎么才能停下的。。
1 回答
呼唤远方
TA贡献1856条经验 获得超11个赞
Edit:
经测试,改成这样就行了。
scrollingElement是scrollTop值的副本,直接修改它的值是不会影响scrollTop的。
var aaa;
function backTop(){
var scrollingElement = document.documentElement.scrollTop || document.body.scrollTop;
document.body.scrollTop = scrollingElement - 10;
if( scrollingElement === 0 ) {
cancelAnimationFrame(aaa);
} else {
aaa = requestAnimFrame(backTop)
}
};
添加回答
举报
0/150
提交
取消