Jquery 滚动行为让我困惑
我有一些溢出隐藏div。在它里面有li元素,我尝试将div滚动到6个元素的滚动顶部(带有按钮) 但是这种行为让我困惑。 单击一次,滚动到元素的中间,下一次单击到实际位置,它不会滚动到末尾。 谁能帮帮我吗Jquery 滚动行为让我困惑,jquery,scroll,Jquery,Scroll,我有一些溢出隐藏div。在它里面有li元素,我尝试将div滚动到6个元素的滚动顶部(带有按钮) 但是这种行为让我困惑。 单击一次,滚动到元素的中间,下一次单击到实际位置,它不会滚动到末尾。 谁能帮帮我吗 ps对不起我的学校英语:)我认为问题在于您使用的是offset(),它检索元素相对于页面的当前位置-但由于您移动这些元素,偏移量会发生变化 尝试以下解决方案: $(document).ready(function() { var i = 0; var offset = $("a
ps对不起我的学校英语:)我认为问题在于您使用的是
offset()
,它检索元素相对于页面的当前位置-但由于您移动这些元素,偏移量会发生变化
尝试以下解决方案:
$(document).ready(function() {
var i = 0;
var offset = $("a").eq(6).offset().top;
var scrollList = function() {
$('#thumb_keeper').animate({
scrollTop: offset * i
}, 500);
};
$('.scroll_down').click(function () {
i++;
scrollList();
});
$('.scroll_up').click(function () {
i--;
scrollList();
});
});
您需要进行一些其他更改,以检查是否可以进一步向下滚动,否则
i
不能递增。向上滚动也是如此。非常感谢。是的,我会测试这个位置。但是srollposition已经不是li的顶部了。好的,1)从i=0开始2)您需要将偏移量var减少容器的垂直偏移量(#thumb\u keeper),例如var offset=$('a:eq(6)).offset().top-$('thumb\u keeper').offset().top代码>3)即使如此,如果之间的所有填充/边距相同,这也只能起到很小的作用。