jQuery使用淡入淡出禁用启用单击事件

时间:2012-07-06 21:34:45

标签: jquery

如何在淡化之前禁用点击事件并在淡出后启用它?

我的js代码:

$('a').click(function(){
    // disable click
    $('div').fadeOut(400,
        function(){
            $(this)
                .css('background','yellow')
            .fadeIn(1800, function(){}
             // enable click
             );});
});

我可以使用stop(),但我需要禁用/启用 plz修改我的http://jsfiddle.net/WBWrM/1/ thx

2 个答案:

答案 0 :(得分:4)

添加为点击回调的第一行:

if ($('div').is(':animated')) return;

答案 1 :(得分:3)

在元素中添加一个类,并且当该类存在时不要运行该事件。

$('a').click(function () {
    var $this = $(this);
    if ($this.hasClass('noClick')) return;
    // disable click
    $this.addClass('noClick');
    $('div').fadeOut(400, function () {
        $(this).css('background', 'yellow').fadeIn(1800, function () {
            // enable click
            $this.removeClass('noClick');
        });
    });
});