Jquery延迟执行脚本

有以下内容:

$('#navMain .nav1').hover(function () { $(this).addClass('hover'); if ($.browser.msie && $.browser.version < 7) $('select').css('visibility', 'hidden'); }, function () { $(this).removeClass('hover'); if ($.browser.msie && $.browser.version < 7) $('select').css('visibility', 'visible'); }); 

addClass('hover')hover在$('#navMain .nav1')元素后,我需要延迟执行addClass('hover')

我试过这个,但它不起作用:

 $(this).delay().addClass('hover'); if ($.browser.msie && $.browser.version < 7) $('select').delay().css('visibility', 'hidden'); 

谢谢

 setTimeout( function(){ // your stuff here }, 500); // delay 500 ms 

用你的代码:

 $('#navMain .nav1').hover( function () { setTimeout( function(){ $(this).addClass('hover'); if ($.browser.msie && $.browser.version < 7) $('select').css('visibility', 'hidden'); }, 500); // delay 500 ms }, function () { $(this).removeClass('hover'); if ($.browser.msie && $.browser.version < 7) $('select').css('visibility', 'visible'); } ); 

如果简单的javascript延迟可以帮助您,您可以执行以下操作:

 setTimeout(function() { // your code here }, 3000); 

具有以下签名:setTimout(functionToExecute,delayInMs);

和文档: http : //www.w3schools.com/js/js_timing.asp

跳我帮你。