我有以下工作代码来使滚动框的元素可见:
var next = elements.item(i+1);
var xpcomInterface = scroll.boxObject.QueryInterface(
Components.interfaces.nsIScrollBoxObject);
xpcomInterface.ensureElementIsVisible(elements);
但我想要平滑滚动(慢或慢)。知道该怎么做吗?
更新
顺便说一句,它适用于 Mozilla 环境。
最佳答案
最简单的方法是仅使用 setTimeout
函数,并继续将元素 div 上的 top
和 left
值移动少量,直到你到达你想要的地方。
您可能想尝试让它移动多快,因为需要权衡平滑性,并且它应该在合理的时间内到达终点。
更新:
我忘了,您需要不断调用 setTimeout
直到到达最终目的地,否则它不会重绘浏览器窗口。
关于javascript - 如何实现平滑滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3781175/