使用jquery使用延迟回调函数

时间:2012-09-10 10:59:22

标签: jquery html

您好我使用jquery回调函数来删除类,现在我想用这个函数附加延迟。我的功能是

$(function(){
$('a').click(function(){
$('.mydiv').find('.div1').addClass('jmnew').show('slow', function(){
$('.mydiv').find('.jmnew').removeClass('jmnew');
});
});
});

HTML //

<div class="mydiv">
<div class="div1" style="display:none">
abc
</div>
<a href="#">click me</a>
</div>

fiddle链接

2 个答案:

答案 0 :(得分:2)

您应该使用setTimeout

$(function(){
    $('a').click(function(){
        $('.mydiv').find('.div1').addClass('jmnew').show('slow', function(){
            setTimeout(function() {
                $('.mydiv').find('.div1').removeClass('jmnew')
            },2000);
        });
    });
});

答案 1 :(得分:0)

您需要使用setTimeout功能,因为jQuery&#39; delay()仅适用于排队效果。

$(function() {

    $('a').click(function() {
        $('.mydiv').find('.div1').addClass('jmnew').show('slow', function() {

            setTimeout(function() {
                $('.mydiv').find('.jmnew').removeClass('jmnew')
            }, 1000);
        })
    })
})​

请参阅DEMO