我目前正在使用以下代码在刷卡检测脚本的回调中自动滚动到顶部。我想添加在用户在动画期间点击屏幕时取消动画的功能。
$('body,html').animate({
scrollTop: 0
}, 300);
我将如何取消此取消?
答案 0 :(得分:1)
使用stop
方法停止动画。请务必为false
参数传递jumpToEnd
,这样用户就不会自动转到屏幕顶部。
$(function() {
//Substitute with whatever kicks off this scroll in your app.
$('button').on('click', function(evt) {
$('body,html').animate({
scrollTop: 0
}, 3000);
evt.stopPropagation();
});
$(window).on('click', function(evt) {
$('body,html').stop();
});
});
实例 - http://jsfiddle.net/FcLbH/2/
修改 - 根据@ AvL的评论删除参数stop
。
答案 1 :(得分:0)
也许是这样的:
$('body,html').animate({
scrollTop: 0
}, 3000).click(function() {
$('body,html').stop();
});
答案 2 :(得分:0)
我不太确定点击检测,无论如何,这会在3秒后停止动画:
$('body,html').animate({
scrollTop: 0
}, 6000);
setTimeout(function() { $('html,body').stop(); }, 3000);
关于stop()的所有信息:http://api.jquery.com/stop/