javascript - 如何实现平滑滚动?

标签 javascript

我有以下工作代码来使滚动框的元素可见:

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

但我想要平滑滚动(慢或慢)。知道该怎么做吗?

更新

顺便说一句,它适用于 Mozilla 环境。

最佳答案

最简单的方法是仅使用 setTimeout 函数,并继续将元素 div 上的 topleft 值移动少量,直到你到达你想要的地方。

您可能想尝试让它移动多快,因为需要权衡平滑性,并且它应该在合理的时间内到达终点。

更新:

我忘了,您需要不断调用 setTimeout 直到到达最终目的地,否则它不会重绘浏览器窗口。

关于javascript - 如何实现平滑滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3781175/

相关文章:

javascript - 您可以从另一台计算机上的命令行 js 脚本连接到正在运行的 Node JS 服务器吗?

Javascript 从特定图像 onclick 获取 .src

javascript - AngularJS 返回大括号中的变量名称,而不是值

javascript - 下一个JS : how to use window in custom hook?

javascript - 加载后显示 gif

javascript - 如何保存网页以继续离线工作?

javascript - 移动菜单 (js) 未在 WordPress WPML 网站上加载

javascript - 错误 : ‘NewSymbol’ is not a member of ‘v8::String’ ?

javascript - object.create 不使用我的新值

javascript - 如何只刷新网页上的饼图?