2013-11-20 24 views
0

這裏是我的前兩個點擊代碼函數「queue」,它只能執行一次嗎?

$('.project, .list').click(function(){ 
    $(".c3_home").addClass('c3_left2').delay(400).queue(function(){ 
    $(this).addClass('c3_right'); 
}); 
}); 
$('#back').click(function(){ 
    $('.c3_home').removeClass('c3_right c3_left2'); 
}); 

,類被添加和刪除,但在第三次點擊,而沒有被添加c3_right只添加了c3_left。

回答

0

你要清楚的隊列:

$(".c3_home").clearQueue().addClass('c3_left2').delay(400).queue(function(){ 
    $(this).addClass('c3_right'); 
}); 

你可以嘗試使用完成():(JQ 1.9>){這應該清除隊列中的所有元素}

$(".c3_home").finish().addClass('c3_left2').delay(400).queue(function(){ 
    $(this).addClass('c3_right'); 
}); 

由於建議由凱文,也嘗試:

$(".c3_home").addClass('c3_left2').delay(400).queue(function(next){ 
     $(this).addClass('c3_right'); 
     next(); 
    }); 
+0

我想知道執行'next'函數傳遞給隊列回調也會解決它。 –

+0

@KevinB它會更適合順便說一句 –