JavaScript滚动到jQuery中绑定的keydown事件上的元素

我正在尝试滚动到keydown事件中的2个不同元素,第一次按下时的第一个元素,第二次按下时的第二个元素,并在每按两次(或点击)后重复该事件。 我创建了一个JSFiddle演示,链接如下。

小提琴

如您所见,它不会在第二次按下(或点击)时滚动到底部元素。 我唯一能想到的就是在第二个事件中使用“.offset()。top”之外的其他东西。 但是,如果你们中的一些JS大师看看我的代码,你可能会看到错误或者可能是另一种解决方案,以达到理想的效果。 提前致谢!

.offset().top ??? 

MAIN BUG已解决,但是新的bug已经泄露..如果用户单击向上箭头,有没有办法将命中变量重置为ZERO?

没有更多的错误! 您可以免费使用此脚本!

请参阅偏移的定义

获取相对于文档的匹配元素集中第一个元素的当前坐标。

这里的问题是当您为#wrap元素设置动画时,其偏移更改最简单的解决方案是预先获取其位置,请参阅我编辑的JSfiddle 。 添加以下两行代码,并根据spot1 / spot2执行动画。 开关盒执行正常。

 var spot1 = $("#scrollToHere2").position().top; var spot2 = $("#scrollToHere").position().top;