我目前正在使用以下代碼自動滾動到滑動檢測腳本的回調頂部。我想添加在用戶在動畫過程中單擊屏幕時取消動畫的功能。點擊取消滾動到頂部動作
$('body,html').animate({
scrollTop: 0
}, 300);
我將如何完成此取消?
我目前正在使用以下代碼自動滾動到滑動檢測腳本的回調頂部。我想添加在用戶在動畫過程中單擊屏幕時取消動畫的功能。點擊取消滾動到頂部動作
$('body,html').animate({
scrollTop: 0
}, 300);
我將如何完成此取消?
使用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/
編輯 - 刪除了參數stop
每@ AVL的評論。
也許是這樣的:
$('body,html').animate({
scrollTop: 0
}, 3000).click(function() {
$('body,html').stop();
});
我不太肯定點擊檢測,無論如何,這將在3秒後停止動畫:
$('body,html').animate({
scrollTop: 0
}, 6000);
setTimeout(function() { $('html,body').stop(); }, 3000);
有關停止所有的信息()的http://api.jquery.com/stop/
可能重複[在用戶交互後取消滾動](http://stackoverflow.com/questions/6160058/cancel-scrolling-after-user-interaction) –