我正在尝试生成这种效果,当您单击按钮时,页面将滚动到div并将浏览器的底部与div的底部对齐。我一直在搞乱scrollTop()和offset(),但还没有开始工作。有什么想法吗?
答案 0 :(得分:4)
您可以使用以下代码
var wHeight = $(window).height(); // Height of view port
var eOffset = $('#elementID').offset().top; // Y-offset of element
var eHeight = $('#elementID').height(); // Height of element
$(window).scrollTop(eOffset - wHeight + eHeight); // See below for explanation
<强>解释强>
.scrollTop()
设置为将元素放置在窗口顶部的元素的y偏移量答案 1 :(得分:0)
$("#button").click(function() {
$('html, body').animate({
scrollTop: $("#elementtoScrollToID").offset().top
}, 2000);
});
取自http://www.abeautifulsite.net/blog/2010/01/smoothly-scroll-to-an-element-without-a-jquery-plugin/
答案 2 :(得分:0)
我会使用.scrollHeight:
$("#div1").animate({ scrollTop: $("#div1").scrollHeight}, 1000);
<强> EDITED 强>
那是因为你必须计算身高等
var scrollBottom = $(window).scrollTop() + $(window).height();