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

时间:2012-10-21 00:35:30

标签: javascript jquery function events keydown

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

FIDDLE

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

.offset().top ???

MAIN BUG已解决,但是发现了新错误..如果用户点击向上箭头,有没有办法将命中变量重置为ZERO?

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

1 个答案:

答案 0 :(得分:0)

查看offset

的定义
  

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

这里的问题是当您为 #wrap 元素设置动画时,其偏移量会发生变化 最简单的解决方案是预先获得其位置,请参阅my edited JSfiddle。添加以下两行代码,并根据spot1 / spot2执行动画。开关盒执行正常。

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