2

以下を有する:

$('#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')要素にカーソルを合わせた後の実行を遅らせる必要があり$('#navMain .nav1')ます。

私はこれを試しましたが、うまくいきません:

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

ありがとう

4

2 に答える 2

9
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');
  }

);
于 2012-08-02T09:12:17.310 に答える
3

単純な JavaScript 遅延が役立つ場合は、次のように実行できます。

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

次のシグネチャを使用: setTimout(functionToExecute, delayInMs);

およびドキュメント: http://www.w3schools.com/js/js_timing.asp

ホッピング私はあなたを助けます。

于 2012-08-02T09:17:41.383 に答える