2013-09-24 3 views
0

요소의 html을 설정하고 2 초 정도 기다렸다가 html을 다른 것으로 설정하려면 어떻게해야합니까?jQuery 지연이 지연되지 않습니다

예 : $("div").html("clicked").delay(2000).html("2 seconds have passed"); 어떻게됩니까

: 사업부는 박쥐 "2 초 통과"대신 말의 다음, "2 초 통과"표시, 2 초 "클릭"가져옵니다.

.delay(2000, function() { $("div").html("2 seconds have passed"); })과 같은 조치를 취해야합니까? 여기

라이브 예 : http://jsbin.com/UfaYusU/1/edit

감사합니다!

+1

큐에 넣으려면 ( –

답변

3

$. 지연은 실행을 중지하지 않고 대기열에서 애니메이션을 지연시키는 데 사용됩니다. 당신이 지연 후 몇 가지 코드를 실행하려면

$("div").html("clicked").delay(2000).promise().done(function() { 
    $(this).html("2 seconds have passed"); 
}); 
2

.delay()은 애니메이션 기능과 함께 작동, 당신은 .promise() 방법을 사용할 수 있습니다 .

$("button").click(function(e) { 
    $("div").html("clicked"); 
    setTimeout(function() { 
    $("div").html("2 seconds have passed"); 
    }, 2000); 
}); 

Here's an updated version of your jsbin...

+0

) "필자는 애니메이션 기능 만 사용할 수 있습니다." 대기열에 넣어 모든 작업에 대한 –

+0

@ A.Wolff 예, 기술적으로 올바른, 내가 의미 _by default_. – undefined

+0

나는이 경우에 .promise()를 사용하는 것에 관해 생각해 본 적이 없다. 좋은 행 하나를 연속적으로 여러 번 클릭해도 문제가없는 것 같다. http://jsfiddle.net/fsvFj/ –

0

사용 setTimeout() .. :

이 시도 : 기본적으로

setTimeout(function() { 
      // Do something after 2 seconds 
}, 2000); 
관련 문제