2017-01-21 5 views
1

툴팁 표시시 제한 시간을 지우는 데 문제가 있습니다. 나는 그것이 어떻게 작동 하는지를 이해한다고 믿지만, 어떤 이유로 그것은 여기서 작동하지 않는다. 함수 외부호버 jquery에서 클리어링 타임 아웃

$('.div').hover(
    function(){ var t = setTimeout(function() { 
       $('.tooltip').show(500); 
       }, 500);}, 
    function(){ clearTimeout(t); 
       $('.tooltip').hide(300); 
}); 

답변

0

이동 변수 선언 그렇지 t 번째 콜백 내에 액세스 할 수없는 양의 콜백 가변 범위를 얻을 수있다. 현재 실행중인 애니메이션을 중지하려면 stop() 메서드를 사용하십시오.

var t; 
$('.div').hover(function() { 
    t = setTimeout(function() { 
    $('.tooltip').show(500); 
    }, 500); 
}, function() { 
    clearTimeout(t); 
    $('.tooltip').stop().hide(300); 
}); 

또는 애니메이션 큐 사이의 딜레이를 제공하는 방법을 사용 delay().

$('.div').hover(function() { 
    $('.tooltip').delay(500).show(500); 
}, function() { 
    clearTimeout(t); 
    $('.tooltip').stop().hide(300); 
});