JQuery 타이머를 사용하여 js 함수 호출


137

어쨌든 JQuery에 타이머를 구현해야합니까? 10 초마다 js 함수를 호출해야합니다.

나는 다음을 시도했다

window.setTimeout(function() {
 alert('test');
}, 10000);

그러나 이것은 한 번만 실행 된 다음 다시는 실행되지 않습니다.

답변:



50
window.setInterval(function() {
 alert('test');
}, 10000);

window.setInterval

해당 함수를 호출 할 때마다 고정 된 시간 지연으로 함수를 반복해서 호출합니다.


45

하나 이상의 타이머 를 관리하기 위해 jQuery Timer 를 체크 아웃 할 수 있습니다.

http://code.google.com/p/jquery-timer/

var timer = $.timer(yourfunction, 10000);

function yourfunction() { alert('test'); }

그런 다음 다음을 사용하여 제어 할 수 있습니다.

timer.play();
timer.pause();
timer.toggle();
timer.once();
etc...

좋은 유틸리티. 수명주기를 제어 할 수 있습니다.
Jigar Shah

한 타이머가 다른 타이머를 제어해야 할 때 매우 유용
Onimusha

1
"함수 아니다 .timer $ 형식 오류"메신저 오류 :( 점점
SJD

2
링크에서 플러그인을 가져와야하기 때문입니다.
Giszmo

25

setInterval 은 원하는 기능입니다. 매 x 밀리 초마다 반복됩니다.

window.setInterval(function() {
    alert('test');
}, 10000);

11

jQuery 1.4에는 한 번만 트리거하고 이미 해당 버전을 사용하기 시작한 경우 .delay (duration, [queueName]) 메소드도 포함되어 있습니다.

$('#foo').slideUp(300).delay(800).fadeIn(400);

http://api.jquery.com/delay/

죄송합니다. 계속 트리거 할 이벤트를 찾고있는 실수입니다. 여기에 남겨 두겠습니다. 누군가 도움이 될 수도 있습니다.



2

당신은 사용 하여 setInterval () 또한 당신이 호출 할 수있는 방법을 에서는 setTimeout ()를 예를 들어, 사용자 정의 함수에서

function everyTenSec(){
  console.log("done");
  setTimeout(everyTenSec,10000);
}
everyTenSec();

-2
function run() {
    window.setTimeout(
         "run()",
         1000
    );
}

6
-1, 단순히 함수를 제공하는 대신 문자열을 평가하는 것이 너무 많은 버그의 근본이기 때문입니다.
vog December
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.