在页面加载时滚动到 Div 的底部(jQuery)

新手上路,请多包涵

我的页面上有一个 div:

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

如何让 div 滚动到 div 的底部?不是页面,只是DIV。

原文由 DobotJr 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 314
2 个回答

这里的其他解决方案实际上不适用于包含大量内容的 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 发布,翻译遵循 CC BY-SA 3.0 许可协议

我在这里可以看到的所有答案,包括当前“已接受”的答案,实际上都是错误的,因为它们设置了:

 scrollTop = scrollHeight

而正确的方法是设置:

 scrollTop = scrollHeight - clientHeight

换句话说:

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

或动画:

 $("#div1").animate({
  scrollTop: $('#div1')[0].scrollHeight - $('#div1')[0].clientHeight
}, 1000);

原文由 patspam 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题