功能,“队列”,它只能执行一次吗?

时间:2013-11-20 19:02:27

标签: jquery queue addclass removeclass

这是我的代码

$('.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_left,而没有添加c3_right。

1 个答案:

答案 0 :(得分:0)

您必须清除队列:

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

你可以尝试使用finish():( 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();
    });