2012-10-17 3 views
4

이 내 현재 코드2 초 동안 마우스를 올려 놓으면 어떻게 기능을 실행합니까?

google.maps.event.addListener(marker, `mouseover`, function() { 
    alert('loaded when i hovered'); 
}); 

하지만 난 마우스 2 초의 요소 위에있는 경우 함수가 실행되도록합니다.

시도했지만 제대로 작동하지 않았습니다.

google.maps.event.addListener(marker, `mouseover 2000`, function() { 
    alert('loaded after then when i stay mouse 2 sec'); 
}); 

2 초가 지난 후 기능을 실행하려면 무엇을해야합니까?

+0

를 사용하여,이 같은 것입니다. 감사합니다 – Dest

답변

6

타이머를 사용해야합니다. 마우스 오버로 설정 한 다음 타이머 콜백에서 작업을 수행하십시오. 또한 타이머를 중지하는 mouseout 이벤트를 처리해야합니다.

var timeoutId = null; 
google.maps.event.addListener(marker, 'mouseover',function() { 
    timeoutId = window.setTimeout(function(){ 
    alert("I did it!"); 
    }, 2000); 
}); 

// Cancel your action if mouse moved out within 2 sec 
google.maps.event.addListener(marker, 'mouseout',function() { 
    window.clearTimeout(timeoutId) 
}); 
0

mouseover 이벤트에서 setTimeout으로 전화하십시오. 반환 값을 공유 위치 (예 : 클로저)에 저장합니다.

mouseout 이벤트에서 clearTimeout으로 전화하십시오. 2 초가되기 전에 해당 이벤트가 시작되지 않으면 setTimeout에 전달 된 함수가 호출됩니다.

+1

답장을 보내 주셔서 감사합니다. – Dest

3

그것은 예를 들어 저를 다시 재생하십시오 setTimeout

var timer; 

google.maps.event.addListener(marker, 'mouseover', function() {   
    timer = window.setTimeout(function(){ 
    alert("Stackoverflow Rocks!!!"); 
    }, 2000); 
}); 

google.maps.event.addListener(marker, 'mouseout', function() {   
    window.clearTimeout(timer); 
}); 
관련 문제