1

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

小提琴

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

.offset().top ???

主要错误已解决,但发现了新错误。如果用户单击向上箭头,是否有办法将命中变量重置为零?

没有更多的错误!随意使用这个脚本!

4

1 回答 1

0

参见偏移量的定义

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

这里的问题是,当您为#wrap元素设置动画时,它的偏移量会发生变化,最简单的解决方案是预先获取它的位置,请参阅我编辑的 JSfiddle。添加如下两行代码,按照spot1/spot2做动画。开关盒执行良好。

var spot1 = $("#scrollToHere2").position().top;
var spot2 = $("#scrollToHere").position().top;
于 2012-10-21T01:01:05.430 回答