2012-09-10 109 views
0

您好我使用jQuery的回調函數removeClass,現在我想附加延遲這個函數。我的作用是使用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

您應該使用setTimeout

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

賓果!感謝阿希什巴格特 – Carlos

0

您將需要使用setTimeout功能,因爲jQuery的delay()只能排隊效果的作品。

$(function() { 

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

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

查看DEMO