2012-09-26 1 views
0

안녕하세요 내가 원하는 시간으로 넣어 밖으로주고 싶어 나에게 줘 "Time up"은 카운트 다운을 중지하고 위로 내 카운트 다운이 그것으로 알려주지해야 끝날 때

나는이 방법으로 약간의 시도를했지만 힘들지는 않다.

function setCountDown() { 
    seconds--; 
    if (seconds < 0) { 
     minutes--; 
     seconds = 59; 
    } 
    if (minutes < 0) { 
     hours--; 
     minutes = 59; 
    } 
    if (hours < 0) { 
     days--; 
     hours = 23; 
    } 
    document.getElementById("remain").innerHTML = days + " days, " + hours + " hours, " + minutes + " minutes, " + seconds + " seconds"; 
    if ((seconds = 0) && (minutes = 0) && (hours = 0) && (days = 0))(
     document.getElementById("remain").innerHTML = "time up"; 
    ) else ( 
     setTimeout("setCountDown()", 1000); 
    ); 
} 

내 전체 코드는 여기에 있습니다 : Countdown timer not working with gmt time

답변

3

별로 좋지는 않지만 필요에 따라 좋습니다.

HTML

<div id="countdown"> 
    <span id="row1"></span><br /> 
    <span id="row2"></span> 
</div> 

JS

var end = new Date('October 08, 2012 00:55:00'); 

function toSt1(n) { 
    var s = ''; 
    if (n < 10) s += '0'; 
    return (s + n).toString(); 
} 

function toSt2(n) { 
    var s = ''; 
    if (n < 10) s += '00'; 
    else if (n < 100) s += '0'; 
    return (s + n).toString(); 
} 

var countdown = function() { 
    var d = new Date(); 
    var count = Math.floor(end.getTime() - d.getTime()); 
    if (count > 0) { 
     var miliseconds = toSt2(count % 1000); 
     count = Math.floor(count/1000); 
     var seconds = toSt1(count % 60); 
     count = Math.floor(count/60); 
     var minutes = toSt1(count % 60); 
     count = Math.floor(count/60); 
     var hours = toSt1(count % 24); 
     count = Math.floor(count/24); 
     var days = count; 
     document.getElementById('row1').innerHTML = days + ' Days'; 
     document.getElementById('row2').innerHTML = hours + ' Hours ' + minutes + ' Minutes ' + seconds + ' Seconds '; 
     setTimeout('countdown()', 100); 
    } else { 
     document.getElementById("countdown").innerHTML = "Time up"; 
    } 
} 
countdown(); 
나는 아래로 내 계산에 추가 할

DEMO

+0

예 더 좋으면 지금 수정할 수 있습니다. 예 경우에 잘 작동합니다. – deerox

+0

듣기 좋은 분 :) – yckart

1

이 카운트 다운의 완료에 (당신이 묻는대로 출력을 제공) 뭔가를이 코드를 참조하십시오 :

$(function(){ 
    var count = 10; 
    countdown = setInterval(function(){ 
    $("p.countdown").html(count + " seconds remaining!"); 
    if (count == 0) { 
     $('#remain').html('Time up'); 
    } 
    count--; 
    }, 1000); 
}); 

이 솔루션은 jQuery를 사용합니다.

Ref. How can I make a jQuery countdown

+0

... 그럼 난 jQuery를 다음 – deerox

+0

를 사용합니다 @ user1477388 꽤 간단하고 더 예쁘고 bloating jquery ;-) https://gist.github.com/3728681 – yckart

+0

내 문제는 무엇입니까? 문제가 없으면 upvote를 자유롭게 사용하십시오. – user1477388

관련 문제