我如何使用jquery向下滚动到iframe或页面的底部?
当前回答
scrollTop()返回从可滚动区域的视图中隐藏的像素数,因此给它:
$(document).height()
会超出页面的底部。为了让滚动实际“停止”在页面底部,需要减去当前浏览器窗口的高度。这将允许在需要时使用easing,所以它变成:
$('html, body').animate({
scrollTop: $(document).height()-$(window).height()},
1400,
"easeOutQuint"
);
其他回答
在这个线程没有为我的特定需求工作之后(在我的情况下,一个文本区域内滚动一个特定元素),我在伟大的超越中发现了这一点,这可能对其他人阅读这个讨论有帮助:
备选行星云
因为我已经有了我的jQuery对象的缓存版本(下面代码中的myPanel是jQuery对象),我添加到我的事件处理程序的代码是这样的:
myPanel.scrollTop(myPanel[0].scrollHeight - myPanel.height());
(由于本)
scrollTop()返回从可滚动区域的视图中隐藏的像素数,因此给它:
$(document).height()
会超出页面的底部。为了让滚动实际“停止”在页面底部,需要减去当前浏览器窗口的高度。这将允许在需要时使用easing,所以它变成:
$('html, body').animate({
scrollTop: $(document).height()-$(window).height()},
1400,
"easeOutQuint"
);
如果你想要一个漂亮的缓慢动画滚动,对于任何带有href="#bottom"的锚,这将滚动到底部:
$("a[href='#bottom']").click(function() {
$("html, body").animate({ scrollTop: $(document).height() }, "slow");
return false;
});
您可以随意更改选择器。
之前的回答中提到的脚本,比如:
$("body, html").animate({
scrollTop: $(document).height()
}, 400)
or
((窗口).scrollTop美元(文档).height ());
将不会在Chrome中工作,并将在Safari中跳跃,以防html标签在CSS中溢出:auto;属性集。我花了将近一个小时才弄明白。
$('.block').scrollTop($('.block')[0].scrollHeight);
我使用此代码在新消息到达时滚动聊天。
推荐文章
- 可以在setInterval()内部调用clearInterval()吗?
- 无法读取未定义的属性“msie”- jQuery工具
- jQuery:执行同步AJAX请求
- jQuery表格排序
- 如何禁用文本选择使用jQuery?
- 如何停止事件冒泡复选框点击
- 检测涡旋方向
- Bootstrap抛出Uncaught错误:Bootstrap的JavaScript需要jQuery
- 如何删除和清除所有的本地存储数据
- 如何修改标签文本?
- 如何获得十六进制颜色值而不是RGB值?
- 如何将一个标题转换为jQuery的URL段塞?
- $(window).width()与媒体查询不一样
- AJAX请求中的内容类型和数据类型是什么?
- 如何打破_。在underscore.js中的每个函数