gpt4 book ai didi

javascript - 在同一项目上多次调用时 scrollTop 跳转

转载 作者:行者123 更新时间:2023-11-30 09:57:59 28 4
gpt4 key购买 nike

我正在使用 jquery 的 scrollTop 函数,但无法弄清楚为什么在同一项目上多次调用时它会跳来跳去。

我把这个 example 放在一起了来说明问题。单击测试按钮时,它会交替滚动到指定的项目和列表中的另一个位置。

$('#button').click(function () {
$('.items').scrollTop($('li.8').offset().top); // scroll to item 8
});
.items{
max-height: 80px;
overflow: auto;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="items large-8 columns end">
<ul class="list">
<li class="0">Almy, Joannie </li><li class="1">Auclair, Donnette </li><li class="2">Auerbach, Trinh </li><li class="3">Bement, Margeret </li><li class="4">Bryan, Willian </li><li class="5">Bullen, Tempie </li><li class="6">Coppa, Ozella </li><li class="7">Dahlin, Clementina</li><li class="8">Dahlman, Sasha </li><li class="9">Dorfman, Josef </li><li class="10">Heckert, Whitney </li><li class="11">Hendershott, Lida </li><li class="12">Holmes, Ellsworth </li><li class="13">Jaffee, Karlyn </li><li class="14">Joslyn, Nora </li><li class="15">Kiley, Patrica </li><li class="16">Lakes, Mickie </li><li class="17">Leiker, Enola</li><li class="18">Lemaire, Shanel, </li><li class="19">Lingerfelt, Graham </li><li class="20">Mangum, Maile </li><li class="21">Marcinkowski, Monica </li><li class="22">Mcraney, Allyson </li><li class="23">Meyerson, Lura </li><li class="24">Mole, Eboni </li><li class="25">Paulsen, Merrie </li><li class="26">Preble, Rivka </li><li class="27">Privette, Vonnie </li><li class="28">Quinones, Tilda </li><li class="29">Rojo, Eloy </li><li class="30">Semple, Dwana </li><li class="31">Sifuentes, Tyron </li><li class="32">Sloat, Dante </li><li class="33">Slocum, Shanna </li><li class="34">Sly, Ellamae </li><li class="35">Stolp, Courtney </li><li class="36">Till, Lucien </li><li class="37">Ulman, Jennifer </li><li class="38">Wadlow, Cassandra </li><li class="39">Zellars, Marty </li>
</ul>
</div>
<button id="button">test</button>

最佳答案

这是因为您正在获取 offset 属性的项目,offset 返回相对于文档的元素位置,这意味着当您在 UL 上滚动时,具有 8 类偏移量的 li 发生变化,在这种情况下您必须使用位置:

$('#button').click(function () {
$('.items').scrollTop($('li.8').position().top); // scroll to item 8
});

为了让它正常工作, parent 应该有相对位置,你可以检查这个 fiddle :http://jsfiddle.net/wgqoh1b3/28/

关于javascript - 在同一项目上多次调用时 scrollTop 跳转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33113973/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com