Jquery延迟执行脚本

Sha*_*eKm 2 javascript 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');
});
Run Code Online (Sandbox Code Playgroud)

我需要在将鼠标addClass('hover')悬停在$('#navMain .nav1')元素之后延迟执行.

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

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

谢谢

Ped*_* L. 9

setTimeout( function(){

  // your stuff here

}, 500); // delay 500 ms
Run Code Online (Sandbox Code Playgroud)

用你的代码:

$('#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');
  }

);
Run Code Online (Sandbox Code Playgroud)