2016-04-06 15 views
-1

Başka bir öğenin (#start) tıklanmasıyla başlatılacak olan bir span öğesinde (#thirty) 30 saniyelik geri sayım yapmaya çalışıyorum. Çalışmıyor gibi gözüküyor. Yardımın için minnettar olurum.Javascript'te "do while" döngüsü ile setTimeout nasıl kullanılır?

var countdown = function() { 
    setTimeout(function() { 
    var i = 30; 
    do { 
     $("#thirty").text(i); 
     i--; 
    } while (i > 0); 
    }, 1000); 
} 

$("#start-timer").click(countdown()); 
+1

'$ ("# başlangıç ​​zamanlayıcısı") tıklayın (geri sayım);' –

+0

Bir zamanlayıcı kullanmalıdır.. Bu gönderiye bir göz atın: http://stackoverflow.com/questions/20618355/the-simplest-possible-javascript-countdown-timer – Sparrow

+1

@ Raj'ın yorumuna ek olarak, 'setInterval()' öğesini kullanın, 'var i = 30 'geri arama dışında, 'do/while' döngüsünden ve' clearInterval (interavalId) '' i === 0'dan kurtul. –

cevap

-1

kullanımı bu:

var i = 30; 
var countdown = function() { 
    var timeout_ = setInterval(function() { 
     $("#thirty").text(i); 
     i--; 
     if(i==0){ 
     i = 30; 
     clearInterval(timeout_); 
     } 
    }, 1000); 
} 

$("#start-timer").click(countdown); 
+0

yes @KevinB. Haklısınız – Sandeep

+1

Lütfen bu koda bazı bağlam ekleyin. – ppperry

İlgili konular