我有一個我正在使用的jquery/javascript傳送帶,但是如果用戶在腳本執行完畢之前多次單擊右側或左側導航按鈕,它會創建一個醜陋的動畫/輪播的順序。阻止腳本在執行時運行兩次
有沒有一種方法可以防止此函數在執行時再次被調用(快速第二次單擊)?
$(document).ready(function() {
$('.inner-main li:first').before($('.inner-main li:last'));
});
function mainSlide(direction) {
var item_width = 940;
if (direction == 'left') {
var movement = parseInt($('.inner-main').css('left')) + item_width;
} else {
var movement = parseInt($('.inner-main').css('left')) - item_width;
}
$('.inner-main').animate({ 'left': movement }, 800, function() {
if (direction == 'left') {
$('.inner-main li:first').before($('.inner-main li:last'));
} else {
$('.inner-main li:last').after($('.inner-main li:first'));
}
$('.inner-main').css({ 'left': '-940px' });
});
}
嘗試把.stop().animate()之前 –
試過了,不起作用,因爲當用戶點擊它時,調用必須進行計算的函數(var item_width),所以當用戶多次點擊時,它會重新計算 – user934902
好點。我會嘗試59的建議 –