gpt4 book ai didi

javascript - 调用 scrollTo 时错位的滚动条

转载 作者:行者123 更新时间:2023-11-28 16:21:22 24 4
gpt4 key购买 nike

我正在使用以下函数滚动到 Div 内的 Div。

它可以工作,但汽车停留在最后一个位置,因此如果用户滚动它会闪烁到原始位置。澄清滚动条实际上​​是在 div 的顶部,但用户看到底部元素,但是当用户向上滚动时,他或她没有得到移动到最后一个元素正上方的预期结果,他们被撞到顶部.

 jQuery.fn.scrollTo = function (elem, speed) {
$(this).animate({
scrollTop: $(this).scrollTop() - $(this).offset().top + $(elem).offset().top
}, speed == undefined ? 1000 : speed);
return this;
};

onclick="$('#usermessageDiv').scrollTo('.last_usermessage', 2000);"

$('.small-chat-box .content').slimScroll({
height: '234px',
railOpacity: 0.4
});
<div id="usermessageDiv" class="content" style="overflow: scroll; width: auto; height: 234px;">

下图显示了滚动条与第二个红色下箭头相对于所示 View 滚动条的位置。

enter image description here

最佳答案

SlimScroll有一个 scrollTo 设置,您应该使用它来代替 scrollTo 函数。

scrollTo - Jumps to the specified scroll value. Can be called on any element with slimScroll already enabled. Example: $(element).slimScroll({ scrollTo: '50px' });

您将需要使用 jQuery 的 position()方法获取目标元素相对于父元素的滚动距离。如果您需要详细的帮助,请为 usermessageDiv 发布一些 HTML。

关于javascript - 调用 scrollTo 时错位的滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36770036/

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