我有以下工作代码使我的滚动条元素可见:
var next = elements.item(i+1);
var xpcomInterface = scroll.boxObject.QueryInterface(
Components.interfaces.nsIScrollBoxObject);
xpcomInterface.ensureElementIsVisible(elements);
但我想做一个平滑滚动(慢或不慢)。知道怎么做吗?
更新
顺便说一下,它适用于Mozilla环境。
答案 0 :(得分:0)
最简单的方法是使用setTimeout
函数,只需将元素的div上的top
和left
值移动一小部分,直到达到所需的位置是。
你可能想要试验它移动的速度,因为有平滑的权衡,以及它应该在一段合理的时间内到达终点。
更新
我忘记了,您需要继续拨打setTimeout
,直到您到达最终目的地,否则它将不会重绘浏览器窗口。
答案 1 :(得分:0)
我不知道该怎么做,但这里有一个名为“Smooth Scroll”的Chrome扩展程序,您可以在其中查看代码,看看他们做了什么,也许会让您朝着正确的方向前进。 / p>
PS我喜欢这个扩展。
答案 2 :(得分:0)
jQuery .animate()
加速动作can be kind of smooth(参见演示动画与相对移动)。 with a plug-in,还有其他缓和方程可供使用。