我的页面上有一个div:

<div id='div1' style='overflow:scroll;overflow-x:hidden;max-height:200px;'></div>

我怎样才能使div滚动到div的底部??不是页面,只是DIV。


当前回答

更新:请参阅Mike Todd的解决方案以获得完整的答案。


$("#div1").animate({ scrollTop: $('#div1').height()}, 1000);

如果你想让它变成动画(超过1000毫秒)。

$('#div1').scrollTop($('#div1').height())

如果你想要即时的。

其他回答

$(window).load(function() {
  $("html, body").animate({ scrollTop: $(document).height() }, 1000);
});

这将获取页面的高度,并在窗口加载后向下滚动页面。一旦页面准备好,将1000更改为您需要的任何速度。

这里的其他解决方案实际上并不适用于具有大量内容的div——它“最大”滚动到div的高度(而不是div内容的高度)。所以它们可以工作,除非你有超过div高度两倍的内容在里面。

下面是正确的版本:

$('#div1').scrollTop($('#div1')[0].scrollHeight);

或jQuery 1.6+版本:

var d = $('#div1');
d.scrollTop(d.prop("scrollHeight"));

或动画:

$("#div1").animate({ scrollTop: $('#div1').prop("scrollHeight")}, 1000);

更新:请参阅Mike Todd的解决方案以获得完整的答案。


$("#div1").animate({ scrollTop: $('#div1').height()}, 1000);

如果你想让它变成动画(超过1000毫秒)。

$('#div1').scrollTop($('#div1').height())

如果你想要即时的。

$(document).ready(function() {
    let width = $(window).width();
    let element = $("#YourId");
    let positionFromTop = element.offset().top + element.prop("scrollHeight");
    $("html, body").animate({
        scrollTop: Math.abs($(window).height() - positionFromTop)
    }, 500);
});

jquery的动画(版本> 2.0)

var d = $('#div1');
d.animate({ scrollTop: d.prop('scrollHeight') }, 1000);