簡體   English   中英

如何進行平滑滾動?

[英]How to do a smooth-scroll?

我有以下工作代碼使滾動框的元素可見:

var next = elements.item(i+1);
var xpcomInterface = scroll.boxObject.QueryInterface(
Components.interfaces.nsIScrollBoxObject);
xpcomInterface.ensureElementIsVisible(elements);

但我想進行平滑滾動(慢速滾動或慢速滾動)。 知道怎么做嗎?

更新

順便說一下,它適用於Mozilla環境。

最簡單的方法是只使用setTimeout函數,並僅將元素div上的top left值和最left值移動一個小數,直到到達想要的位置。

您可能需要嘗試使其移動速度有多快,因為要進行平滑的權衡,並且應該在合理的時間內到達終點。

更新:

我忘記了,您將要繼續調用setTimeout直到到達最終目的地,否則它將不會重新繪制瀏覽器窗口。

我不知道該怎么做,但是這里有一個名為“ Smooth Scroll ”的Chrome擴展程序,您可以在其中瀏覽代碼以查看它們的作用,並可能向正確的方向發展。

PS我喜歡這個擴展。

具有加速運動的jQuery .animate() 可以很平滑 (請參見演示以相對移動動畫 )。 有了插件 ,它可以使用其他緩動方程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM