您好,我相信这是一个复杂的问题,我希望有人可以提供帮助。
我有一个包含滚动动画的长页面。有一个播放按钮可以开始自动滚动页面。我的自动滚动工作正常,持续时间为30秒(这个数字对于使其正常工作非常重要)。我遇到的问题是该网站正在使用背景图像并且响应迅速。我使用div:在{padding-top:56.25%}之后保持16:9的宽高比。因此,当自动滚动到达最后一帧时,无论窗口大小如何,它都会滚动到底部。当它到达最后一帧的顶部而不是底部时,我需要它来停止滚动。是否有人知道使用此方法执行此操作的方法:
$(".playBtn").click(function(){
$("body").animate({ scrollTop: $(document).height() }, 30000);
});
请注意:使用持续时间滚动整个文档的高度是实现此功能的关键。
我已经把头发拉了几天试图完善这种自动滚动垃圾(我认为如果用户手动滚动但客户端坚持使用自动滚动,体验会更好)。所以,如果你能提供帮助,请提前感谢一大堆!
答案 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时停止动画。调整到您想要停留的位置。