2012-08-02 3 views
2

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

내가 $('#navMain .nav1') 요소 유혹 후 addClass('hover')의 실행을 지연해야합니다.

나는이 시도했지만 작동하지 않습니다 :

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

감사 코드와

답변

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

); 
+0

내 코드로 어떻게 처리 할 수 ​​있습니까? – ShaneKm

3

을 간단한 자바 스크립트 지연은 당신을 도울 수있는 경우 다음과 같이 수행 할 수 있습니다.

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

다음 서명을 사용하십시오. setTimout (functionToExecute, delayInMs);

및 설명서 : http://www.w3schools.com/js/js_timing.asp

내가 당신을 도와 호핑.