0

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

我的js代码:

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

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

4

2 回答 2

5

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

if ($('div').is(':animated')) return;
于 2012-07-06T21:37:58.317 回答
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');
        });
    });
});
于 2012-07-06T21:39:53.417 回答