Javascript 如何使用jQuery滚动(元素的底部应该在页面的底部)
在我的HTML页面上,我有可以通过按钮动态添加的内容。 当添加的内容不再在视口中时,我希望滚动以将其放入视口。 由于添加的内容始终添加在添加内容的可单击按钮下方,我始终希望滚动后元素的底部位于视口的底部,但我只能使用该功能将元素的顶部置于视口的顶部:Javascript 如何使用jQuery滚动(元素的底部应该在页面的底部),javascript,html,jquery,css,Javascript,Html,Jquery,Css,在我的HTML页面上,我有可以通过按钮动态添加的内容。 当添加的内容不再在视口中时,我希望滚动以将其放入视口。 由于添加的内容始终添加在添加内容的可单击按钮下方,我始终希望滚动后元素的底部位于视口的底部,但我只能使用该功能将元素的顶部置于视口的顶部: if (!elementInViewport(document.getElementById("ElementId"))){ $([document.documentElement, document.body]).an
if (!elementInViewport(document.getElementById("ElementId"))){
$([document.documentElement, document.body]).animate({
scrollTop: $("#ElementId").offset().top
}, 2000);
}
if (!elementInViewport(document.getElementById("ElementId"))){
document.getElementById("ElementId").scrollIntoView(false);
}
没有scrollBottom
而不是scrollTop
,当我将offset()替换为offset()时,top
。bottom
函数根本不做任何事情
我如何才能做到这一点?尝试以下功能:
if (!elementInViewport(document.getElementById("ElementId"))){
$([document.documentElement, document.body]).animate({
scrollTop: $("#ElementId").offset().top
}, 2000);
}
if (!elementInViewport(document.getElementById("ElementId"))){
document.getElementById("ElementId").scrollIntoView(false);
}
请给出一个可复制的示例。您是否尝试了
scrollTop:$(“#ElementId”).offset().top-$(“ElementId”).height()
?谢谢@freedomn-m,这并没有完全滚动到我想要的位置,但这是一个好的开始。。但现在我使用的是来自ATP的解决方案,它非常有效nice@s.kuznetsov我试过了,但没那么快,sry@lxg95,没问题:)很好,谢谢:)我还将html{scroll behavior:smooth;}
添加到我的css中,这样它的滚动效果会更好一些。