我如何使用jquery向下滚动到iframe或页面的底部?
当前回答
如果你不关心动画,那么你就不需要获取元素的高度。至少在我尝试过的所有浏览器中,如果你给scrollTop一个大于最大值的数字,它就会滚动到底部。所以给它一个尽可能大的数字:
$(myScrollingElement).scrollTop(Number.MAX_SAFE_INTEGER);
如果你想滚动页面,而不是一些带有滚动条的元素,只需使myScrollingElement等于'body, html'。
因为我需要在几个地方这样做,我写了一个快速和肮脏的jQuery函数,使它更方便,像这样:
(function($) {
$.fn.scrollToBottom = function() {
return this.each(function (i, element) {
$(element).scrollTop(Number.MAX_SAFE_INTEGER);
});
};
}(jQuery));
当我添加一个buncho'的东西时,我可以这样做:
$(myScrollingElement).append(lotsOfHtml).scrollToBottom();
其他回答
例如:
$('html, body').scrollTop($(document).height());
这个对我很有用:
var elem = $('#box');
if (elem[0].scrollHeight - elem.scrollTop() == elem.outerHeight()) {
// We're at the bottom.
}
如果你想要一个漂亮的缓慢动画滚动,对于任何带有href="#bottom"的锚,这将滚动到底部:
$("a[href='#bottom']").click(function() {
$("html, body").animate({ scrollTop: $(document).height() }, "slow");
return false;
});
您可以随意更改选择器。
$('.block').scrollTop($('.block')[0].scrollHeight);
我使用此代码在新消息到达时滚动聊天。
如果你不关心动画,那么你就不需要获取元素的高度。至少在我尝试过的所有浏览器中,如果你给scrollTop一个大于最大值的数字,它就会滚动到底部。所以给它一个尽可能大的数字:
$(myScrollingElement).scrollTop(Number.MAX_SAFE_INTEGER);
如果你想滚动页面,而不是一些带有滚动条的元素,只需使myScrollingElement等于'body, html'。
因为我需要在几个地方这样做,我写了一个快速和肮脏的jQuery函数,使它更方便,像这样:
(function($) {
$.fn.scrollToBottom = function() {
return this.each(function (i, element) {
$(element).scrollTop(Number.MAX_SAFE_INTEGER);
});
};
}(jQuery));
当我添加一个buncho'的东西时,我可以这样做:
$(myScrollingElement).append(lotsOfHtml).scrollToBottom();
推荐文章
- 可以在setInterval()内部调用clearInterval()吗?
- 无法读取未定义的属性“msie”- jQuery工具
- jQuery:执行同步AJAX请求
- jQuery表格排序
- 如何禁用文本选择使用jQuery?
- 如何停止事件冒泡复选框点击
- 检测涡旋方向
- Bootstrap抛出Uncaught错误:Bootstrap的JavaScript需要jQuery
- 如何删除和清除所有的本地存储数据
- 如何修改标签文本?
- 如何获得十六进制颜色值而不是RGB值?
- 如何将一个标题转换为jQuery的URL段塞?
- $(window).width()与媒体查询不一样
- AJAX请求中的内容类型和数据类型是什么?
- 如何打破_。在underscore.js中的每个函数