我想通過將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