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.