我正在尝试将处理程序绑定到事件。该事件是一个keydown功能。处理程序将侦听命中变量以产生两个条件之一。第1个条件(单数命中)将执行1个功能,第2个(偶数个命中)将执行另一个功能。详细说明,第一个函数将滚动到一个元素,第二个函数将滚动到另一个元素
上面是一个演示的链接,你可以看到一个讨厌的错误。
我唯一能想到的是第二次事件应该修改以下内容:
.offset().top
答案 0 :(得分:2)
在你的keydown函数之外声明hits
,所以每次都不会重置为0。
答案 1 :(得分:1)
不,不是条件在错误的地方,而是你的变量声明和初始化。如果你这样做
hits = 0;
if (hits % 2 !== 0) …
这种情况显然总是错误的。
将声明移到事件处理函数范围之外,并且每次查询之前都不要重置它。