我偶然发现了Wes Hatch关于他们实现“滚动顶”/强制滚动的博客文章。效果显示在http://www.hugeinc.com上,博客文章位于http://www.hugeinc.com/ideas/perspective/scroll-jacking-on-hugeinc
我试图实现这种效果,但是当我这样做时,我得到一个错误:
Uncaught ReferenceError: scrollThreshold is not defined
这可能发生在JS的第12行或第22行,具体取决于您是否尝试向上或向下滚动。我非常喜欢这种效果,想要搞砸它,但我无法弄清楚如何让它发挥作用。我尝试添加
var scrollThreshold = 500;
以及除500以外的一些不同的数字,这些数字删除了控制台错误但仍然没有实际修复/做任何事情以使滚动功能。
我非常喜欢该网站的功能,我很乐意让它发挥作用,但我的javascript很差,而且我现在很困难。我搜索了hugeinc.com的javascript文件的实时源代码,但是我找不到对术语scrollThreshold的任何引用。任何帮助都会很棒!
这是一个codepen:http://www.codepen.io/patrickwc/pen/HAoJl
PS:有一些其他人的回复在github上有问题,但还没有来自hugeuser的回复https://gist.github.com/hugeuser/9095183答案 0 :(得分:4)
看起来你的scrollThreshold值太大了。滚动的适当值应该是大约20-30。 以下是显示其工作原理的codepen:http://codepen.io/anon/pen/KJupc/ 希望这有帮助。
答案 1 :(得分:0)
原始网站上的js被严重混淆了,我一直在努力用解释示例中的scrollThreshold值,直到找到这个部分
function ft(i) {
...
if (r--, Math.abs(r) >= k)
....
},
其中k设置为5,因此scrollThreshold = 5,delta为0.因此它开始工作
答案 2 :(得分:0)
我刚刚通过codepen文件运行。注意:codepen的css在加载时处于scss状态,通过"查看已编译的"按钮。
话虽这么说,我通过在我的html的主体底部添加对main.js的调用来实现它。