Javascript 滚动到我的div下方?
我得到了一个div,它可以在点击时展开,有时它位于页面的底部,接近底部。我想要的是,当它接近底部时,它应该在它的正下方向下滚动 到目前为止,我的解决方案如下。我知道如何计算值并设置all的动画,但我不明白为什么我的脚本要滚动到页面底部,它只是猛击到底部。有什么想法吗 编辑Javascript 滚动到我的div下方?,javascript,jquery,Javascript,Jquery,我得到了一个div,它可以在点击时展开,有时它位于页面的底部,接近底部。我想要的是,当它接近底部时,它应该在它的正下方向下滚动 到目前为止,我的解决方案如下。我知道如何计算值并设置all的动画,但我不明白为什么我的脚本要滚动到页面底部,它只是猛击到底部。有什么想法吗 编辑 因为它已经消失了,所以滚动到底部。问题是我如何滚动,使其刚好低于我的div 10px?我不想说scrollTop:total jquery var $ediv = $this.parent('div').find
因为它已经消失了,所以滚动到底部。问题是我如何滚动,使其刚好低于我的div 10px?我不想说
scrollTop:total
jquery
var $ediv = $this.parent('div').find('.order-expand-row');
var hDiv = $ediv.outerHeight();
var oDiv = $ediv.offset().top;
var wHeight = $(window).height();
var total = hDiv + oDiv + 10;
if (total >= wHeight) {
$('html, body').animate({ scrollTop: total }, 600);
}
一杯茶可以变魔术;) 通过从
total
中减去wHeight
,我得到了需要滚动的值,从而解决了这个问题。
要清除它,我需要的是我想要滚动到停止的位置,而不是它应该滚动到的位置
var $ediv = $this.parent('div').find('.order-expand-row');
var hDiv = $ediv.outerHeight();
var oDiv = $ediv.offset().top;
var wHeight = $(window).height();
var total = hDiv + oDiv + 10;
var scrollTo = total - wHeight; //the scroll position
if (total >= wHeight) {
$('html, body').animate({ scrollTop: scrollTo }, 600);
}
. 在您的情况下进行调试以查看值是什么。我认为代码本身是正确的,但在我的情况下是错误的。我需要它滚动,使窗口的底部仅在
div
下方10px,现在它想要滚动到div底部以外的位置。是的,但我们看到的代码中没有您的问题。有问题的话,尽量少胡闹。您是否检查了调试中的值?好的。。。感谢您的回答,而不仅仅是删除问题。