禁用最后一个div顶部的scrollTop而不是bottom

时间:2014-03-14 15:49:30

标签: jquery jquery-animate scrolltop autoscroll

您好,我相信这是一个复杂的问题,我希望有人可以提供帮助。

我有一个包含滚动动画的长页面。有一个播放按钮可以开始自动滚动页面。我的自动滚动工作正常,持续时间为30秒(这个数字对于使其正常工作非常重要)。我遇到的问题是该网站正在使用背景图像并且响应迅速。我使用div:在{padding-top:56.25%}之后保持16:9的宽高比。因此,当自动滚动到达最后一帧时,无论窗口大小如何,它都会滚动到底部。当它到达最后一帧的顶部而不是底部时,我需要它来停止滚动。是否有人知道使用此方法执行此操作的方法:

$(".playBtn").click(function(){
            $("body").animate({ scrollTop: $(document).height() }, 30000);
        });

请注意:使用持续时间滚动整个文档的高度是实现此功能的关键。

我已经把头发拉了几天试图完善这种自动滚动垃圾(我认为如果用户手动滚动但客户端坚持使用自动滚动,体验会更好)。所以,如果你能提供帮助,请提前感谢一大堆!

1 个答案:

答案 0 :(得分:1)

你可以使用.stop停止动画..

请看这个小提琴:http://jsfiddle.net/jFIT/tmnXs/

$(window).scroll(function () {
 if ($(window).scrollTop() > 10000) {
     $(':animated').stop();
 }
 $("#fixedstatus").html($(window).scrollTop());
});
$("#autoscroll").click(function () {
 $("body").animate({
     scrollTop: $(document).height()
 }, 30000);
});

这将在页面顶部为10000时停止动画。调整到您想要停留的位置。