Javascript 对同一项目多次调用时,scrollTop会跳转
我正在使用jquery的scrollTop函数,不明白为什么在同一项上多次调用它时,它会跳转 我把这些放在一起是为了说明这个问题。单击“测试”按钮时,它会交替滚动到指定的项目和列表上的其他位置Javascript 对同一项目多次调用时,scrollTop会跳转,javascript,jquery,html,scrolltop,Javascript,Jquery,Html,Scrolltop,我正在使用jquery的scrollTop函数,不明白为什么在同一项上多次调用它时,它会跳转 我把这些放在一起是为了说明这个问题。单击“测试”按钮时,它会交替滚动到指定的项目和列表上的其他位置 $(“#按钮”)。单击(函数(){ $('.items').scrollTop($('li.8').offset().top);//滚动到项目8 }); .items{ 最大高度:80px; 溢出:自动; } 阿尔米、琼尼、奥克莱尔、唐奈特、奥尔巴赫、特林、贝门特、玛格丽特、布莱恩、威廉、布伦、坦皮
$(“#按钮”)。单击(函数(){
$('.items').scrollTop($('li.8').offset().top);//滚动到项目8
});代码>
.items{
最大高度:80px;
溢出:自动;
}
阿尔米、琼尼、奥克莱尔、唐奈特、奥尔巴赫、特林、贝门特、玛格丽特、布莱恩、威廉、布伦、坦皮、奥泽拉、达林、克莱门蒂娜、萨沙、多夫曼、,约瑟夫·赫克特、惠特尼、亨德肖特、利达、霍姆斯、埃尔斯沃斯、杰菲、卡琳、诺拉、凯利、帕特里卡、莱克、伊诺拉、莱梅尔、夏奈尔>林格费尔特、格雷厄姆、曼格姆、梅勒、莫尼卡、莫尼卡、麦克拉尼、阿利森、迈耶森、卢拉、莫尔、埃博尼、保尔森、梅里、普里布尔、里夫卡、普里维特、弗涅斯、,蒂尔达- Rojo,伊洛伊
- Semple,Dwana
- Sifuntes,蒂龙
- Sloat,但丁
- Slocum,Shanna
- Stolp,考特尼
- Till,Lucien
Ulman,JenniferWadlow,卡桑德拉,马蒂·泽拉尔斯
test
这是因为您正在获取offset属性的项目,offset返回相对于文档的元素位置,这意味着当您在UL上滚动时,li会发生8级偏移更改,在这种情况下,您必须使用位置:
$('#button').click(function () {
$('.items').scrollTop($('li.8').position().top); // scroll to item 8
});
为了使其正常工作,父元素应该具有相对位置,您可以检查此小提琴:这是因为您正在获取offset属性的项,而offset返回相对于文档的元素位置,这意味着当您在UL上滚动时,li会发生8级偏移变化,在这种情况下,您必须使用位置:
$('#button').click(function () {
$('.items').scrollTop($('li.8').position().top); // scroll to item 8
});
为了使其正常工作,家长应具有相对位置,您可以检查此小提琴:要使其停止跳跃,您可以尝试以下代码:
$('#button').click(function () {
$('.items').scrollTop(0);
$('.items').scrollTop($("li.8").position().top);
});
要使其停止跳跃,可以尝试以下代码:
$('#button').click(function () {
$('.items').scrollTop(0);
$('.items').scrollTop($("li.8").position().top);
});
当我测试这个时,它会产生相同的结果result@Jess您必须使父ul位置相对。编辑的版本工作完美,感谢您的帮助。我很高兴听到这一点。当我测试这一点时,它会产生相同的结果result@Jess您必须使父ul位置相对。编辑的版本工作完美,谢谢你的帮助,我很高兴听到你这么说。非常感谢你的建议,如果再加上上面建议使用position()而不是offset(),这对我来说效果最好。在跳到顶部之前再跳回到底部似乎有点困难,但是,关于如何使其正常工作还有其他建议吗?要解决这个问题,您需要了解如何获得“li.8”相对于容器的位置。items'(例如,您想要的元素的位置离容器/顶部的起始位置有多远,就好像它是一个平面设计一样)。非常感谢您的建议,这与使用position()而不是offset()的建议相结合时对我最有效上图。在往下跳之前先跳到顶部似乎有点困难,但是,关于如何使其正常工作,还有其他建议吗?要解决此问题,您需要了解如何获得“li.8”相对于容器的位置。items'(例如,所需元素的位置距离容器/顶部的起始位置有多远,按平面设计计算)。