我想通过将body/html框架以任意数量移动到顶部/顶部来模拟滚动。我知道jQuery滚动或动画功能,.scroll()
和.animate()
。但我已经决定不当动画发生,目前仍在进行中和.scroll
被调用使用它,因为它scrollTop
财产之间animate
引起的冲突和.scroll()
jQuery的本地函数..现在使用javascript模拟顶部滚动条setInterval&clearInterval
我的计划是只模拟滚动将body/html帧尽可能平滑地移动到顶部,然后在发生本地scroll
时(STOP)(清除间隔)(调用.scroll()
)。
当我调用.scroll()
时,我能够停止setInterval
动画,但我仍然无法将html对象移动到顶部,达到我希望它“滚动”的数量(这意味着我的代码只能部分工作) 。
这是我到目前为止有:
var scrollTop = //Some arbitrary value
var fakeScroll = setInterval(function(){
console.log(scrollTop);
var animObj = $('html,body');
animObj.top = animObj.offset().top + scrollTop;
},500);
$(document).scroll(function(){
clearInterval(fakeScroll);
});
欣赏任何建议/答案。谢谢!
虽然会触发$(document).scroll事件,所以它只会执行一次。 – Archer 2012-01-12 20:57:06
设置一个标志,以便在运行时从$(document).scroll退出。 – 2012-01-12 21:05:22
如果你沿着window.scroll路线走,那么window.scrollBy(x,y)比获取当前位置并对它进行计算要好。 – Archer 2012-01-12 21:15:40