2015-09-08 59 views
0

我創建的代碼有效,但如果快速單擊de按鈕,則滑塊處於掛鉤狀態。淡入淡出功能jquery滑塊已掛鉤

jQuery的

$(document).ready(function(){ 
$(".list div").each(function(e) { 
    if (e != 0) 
     $(this).hide(); 
}); 

$("#next").click(function(){ 
    if ($(".list div:visible").next().length != 0){ 
     $(".list div:visible").stop().next().stop().fadeIn().prev().stop().fadeOut(); 

    } else { 
     $(".list div:visible").fadeOut(); 
     $(".list div:first").fadeIn(); 
    } 
    return false; 
}); 

$("#prev").click(function(){ 
    if ($(".list div:visible").prev().length != 0){ 
     $(".list div:visible").prev().stop().fadeIn().next().stop().fadeOut(); 
    } else { 
     $(".list div:visible").fadeOut(); 
     $(".list div:last").fadeIn(); 
    } 
    return false; 
}); 
}); 

哪些錯誤與此代碼?

希望有人能幫助我。

迎接Yoeri

+1

觸發動畫做同樣的只有'如果($(ELEM)。是(」 :動畫')){}'。 – D4V1D

+0

可能的重複[如何查找與jQuery如果元素被動畫?](http://stackoverflow.com/questions/724911/how-do-i-find-out-with-jquery-if-an -element-being-being-animated) – D4V1D

+0

我很抱歉,你的意思是? –

回答

0

檢查你的元素,目前正在動畫:

$("#next").click(function(){ 
    if ($(".list div:visible").next().length != 0 && !$(".list div:visible").is(':animated')){ // notice the second condition 
     $(".list div:visible").stop().next().stop().fadeIn().prev().stop().fadeOut(); 

    } else { 
     $(".list div:visible").fadeOut(); 
     $(".list div:first").fadeIn(); 
    } 
    return false; 
}); 

併爲$("#prev").click();