更新到最新版本的 Velocity (2.0.1) 会导致与滚动相关的问题。具体会抛出如下错误信息:
Error: Velocity: First argument (scroll) was not a property map, a known action, or a registered redirect. Aborting.
以下示例适用于 Velocity 1.5:https://codepen.io/julianshapiro/pen/kBuEi
由于 SO 需要代码,这里是 CodePen 的相关部分:
$("#element3").velocity("scroll", {
container: $("#container"),
duration: 800,
delay: 500
});
但是,当改用 Velocity 2.0.1 时,它会抛出错误:https://codepen.io/anon/pen/QQgOPx
谁能告诉我如何解决这个问题?
最佳答案
此处是 Velocity V2 的编码器,将指向 V2 Changes文件:
Currently disabled / not updated:
- Scroll (working, but not happy with interface - it's a property if people want to play, alias of scrollTop, there's also scrollLeft)
所以它在里面,但我可能会更改底层代码(如果/当发生这种情况时,界面将保持不变),但是它现在是一个正常的动画属性(并将保持原样) - 所以现在使用它你会做类似的事情:
$("#container").velocity({scrollTop: "500px"}, {
duration: 800,
delay: 500
});
如果您想向下滚动到另一个元素,那么您需要找到该元素相对于第一个元素的相对位置(这应该是一个单独的问题,但完成后我会添加到 wiki 中)。
注意:我鼓励人们使用 "scrollTop"
而不是 "scroll"
来明确表示您没有使用 "scrollLeft"
。
注意 2:“scrollTop”
在 2.0.1 中,其他的将在下一个 beta 2.0.2 中 - 但现在在 repo 中。
关于javascript - 版本 2.0.1 的速度滚动问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48757902/