jQuery滚动到页面底部

Eva*_*nss 14 jquery

当您单击某个链接时,我使用以下内容滚动到页面顶部.

$('.myLinkToTop').click(function () {
    $('html, body').animate({scrollTop:0}, 'slow');
    return false;
});
Run Code Online (Sandbox Code Playgroud)

我想创建另一个滚动到页面底部的链接.以下工作正常.我认为它试图在页面上滚动1000px,所以如果页面较短,那么它滚动得比它应该更快,如果页面更高,那么它不会一直到底部.如何用窗户高度替换"1000"?谢谢

$('.myMenuLink').click(function () {
    $('html, body').animate({scrollTop:1000}, 'slow');
    return false;
});
Run Code Online (Sandbox Code Playgroud)

我知道这段代码会跳转到页面的底部,但它会像我需要的那样顺利滚动:

$(document).scrollTop($(document).height());
Run Code Online (Sandbox Code Playgroud)

Sri*_*han 31

您可以通过以下代码实现动画和移动到文档底部的要求

HTML

<html>
<head>
</head>
<body>
    <div style="height:1500px">
        <button class="myLinkToTop" id="but1" >1</button>
    </div>
        <button class="myMenuLink" id="but1" >2</button>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

JS

$('.myLinkToTop').click(function () {
    $('html, body').animate({
        scrollTop: $(document).height()
    }, 'slow');
    return false;
});

$('.myMenuLink').click(function () {
    $('html, body').animate({
        scrollTop:0
    }, 'slow');
    return false;
});
Run Code Online (Sandbox Code Playgroud)

请参阅此链接

http://jsfiddle.net/q6Wsp/6/

  • 这是一个**错误的例子**.虽然动画到底部**缓和**没有时间正确完成(减速)导致错误的高度计算 - 而是它以全速击中底部. (2认同)

Rok*_*jan 10

您需要从scrollHeight中减去视口高度:

$('#goToBottom').click(function(){

  var WH = $(window).height();  
  var SH = $('body').prop("scrollHeight");
  $('html, body').stop().animate({scrollTop: SH-WH}, 1000);

}); 
Run Code Online (Sandbox Code Playgroud)
body{height:2000px;}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="goToBottom">GO TO BOTTOM</button>
Run Code Online (Sandbox Code Playgroud)