gpt4 book ai didi

jquery - div 内出现意外的动画滚动顶部行为

转载 作者:行者123 更新时间:2023-12-01 07:55:39 25 4
gpt4 key购买 nike

查看此JSFiddle .

HTML:

<div></div>

CSS:

div {
margin-top: 100px;
height: 200px;
overflow-y: auto;
}

JavaScript:

for (var i = 1; i <= 100; i++)
$("div").append('<span onclick="move(this)">' + i + '</span><br>');

function move(obj) {
$("div").animate({scrollTop: $(obj).position().top});
}

我正在尝试使用 jQuery 在 div 中测试这个极其简单的动画滚动顶部。它应该将点击的数字带到 div 区域的顶部......但定位是不可预测的。我不会说它是随机的,因为我可以发现一种模式,但我无法理解它。

我尝试使用 .position().top.offset().top 甚至 [0].getBoundingClientRect().top,结果是一样的。

此示例需要考虑哪些函数、计算或上下文才能正常工作?

最佳答案

您还需要添加 div 的当前滚动顶部

for (var i = 1; i <= 100; i++)
$("div").append('<span onclick="move(this)">' + i + '</span><br>');

window.move = function(obj) {
var top = $(obj).position().top;
top = $("div").scrollTop() + top
$("div").animate({scrollTop: top});
}

请查找示例here

关于jquery - div 内出现意外的动画滚动顶部行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24666483/

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