내가 이벤트를 예약하려면,JS/JQuery와 : 예약 이벤트
방법 JS/JQuery와에 예약 할 수 있습니다 내 사전 정의 된 콜백 화재 및 호출합니다 :
- 한 번 이벤트?
- 반복 이벤트 (매분 또는 5 분 내 함수를 호출)?
내가 이벤트를 예약하려면,JS/JQuery와 : 예약 이벤트
방법 JS/JQuery와에 예약 할 수 있습니다 내 사전 정의 된 콜백 화재 및 호출합니다 :
일회성 이벤트의 경우 setTimeout
을, 반복 이벤트의 경우 setInterval
을 원합니다.
둘 다 인수와 함수 및 밀리 초 단위로 지정된 시간 간격을 사용합니다.
var delay_millis = 1500;
//will alert once, at least half a second after the call to setTimeout
var onceHandle = window.setTimeout(function() {
alert("Time has passed!");
}, delay_millis);
//will alert again and again
var repeatHandle = window.setInterval(function() {
alert("Am I annoying you yet?");
}, delay_millis);
보너스 :이 함수를 호출하여 반환 된 값을 계속 유지하면 필요한 경우 콜백을 취소 할 수 있습니다.
var shutUpShutUp = function() {
window.clearInterval(repeatHandle);
};
shutUpShutUp(); //now I can hear myself think.
미리 정의 된 간격으로 이벤트를 예약하는 가장 쉬운 방법은 window.setTimeout
입니다.
일회성 이벤트의 경우 한 번 타임 아웃을 설정하고 제한 시간을 비 웁니다.
반복 이벤트의 경우 한 번 타임 아웃을 설정 한 다음 호출 된 메소드에서 시간 초과를 재설정합니다.
일회성 이벤트는 setTimeout 호출로 예약됩니다. 되풀이 이벤트를위한 쉬운 방법은 제한 시간을 설정하는 함수에서 setTimeout을 호출하는 것입니다.
jQuery는 아무 관련이 없습니다. 당신은 jQuery를 명중 한명()를 사용하여 한 번만 실행됩니다 이벤트에 함수를 바인딩 할 수 setTimeout()
및
setInterval()
...의 문제에 대한
: 당신은 자바 스크립트 타이머를 필요 이벤트의 타이밍 임계 값은 다음과 같이 이벤트를 선언하십시오.
var clickAvailable = true;
$('#element').click(function(e) {
if(!clickAvailable) {
clickAvailable = false;
//your code
setTimeout(function() {
clickAvailable = true;
}, 5*60*1000); // 5 minutes...
}
});