0

下面是我的scrollTop代码。当我以特定像素为目标时,它工作正常,但我想向下滚动 300px,而不是在单击时滚动某个 div。谁能帮忙?

<div id="button"></div>
<div1 style="height:300px;">img1</div>
<div2 style="height:300px;">img2</div>
<div3 style="height:300px;">img3</div>
<div4 style="height:300px;">img4</div>

$(function() {
$("#button").on("click", function() {
    $("html, body"). animate({"scrollTop":$().offset().top-300}, 1000);
    return false;
    });
}); 
4

3 回答 3

3

Try using window.scrollBy(0,300);

于 2015-02-19T07:36:55.813 回答
1

$().offset().top没有做很多事情。将其替换为window.scrollY

$(function() {
    $("#button").on("click", function() {
        $("body").animate({"scrollTop": window.scrollY-300}, 1000);
        return false;
    });
}); 

当我们谈论滚动时,负数是向上的,正数是向下的,所以你可能想要添加 300。

于 2013-11-11T05:32:39.573 回答
0

我认为这是最好的方法。

var body = $('html, body');
$('#button').click(function() {
   var n = $(document).height() - $(window).height();
   body.stop().animate({scrollTop: n }, 1000, function() {
});
});
于 2017-11-20T20:45:21.403 回答