سؤال

counter that i can change time to remain if i want from db i have a time stamp in table in db that maybe change now i want for example every 30sec check that and if changed my down-counter changing

my js script is:

<script>
    var seconds = 100;
    function secondPassed() {
        var minutes = Math.round((seconds - 30)/60);
        var remainingSeconds = seconds % 60;
        if (remainingSeconds < 10) {
            remainingSeconds = '0' + remainingSeconds;  
        }
        document.getElementById('countdown').innerHTML = minutes + ':' + remainingSeconds;
        if (seconds == 0) {
            clearInterval(countdownTimer);
            document.getElementById('countdown').innerHTML = 'Times Up!';
                document.getElementById('passage_text').disabled = true;

        } else {
            seconds--;
        }
    }

    var countdownTimer = setInterval('secondPassed()', 1000);
    </script> 
هل كانت مفيدة؟

المحلول

Try changing this:

var countdownTimer = setInterval('secondPassed()', 1000);

to this:

var countdownTimer = setInterval(secondPassed, 1000);

نصائح أخرى

What isn't working in your case, exactly?

BTW: Try caching reference on frequently used DOM element. See this alternative using much simpler code for formatting your time.

var display = document.getElementById('countdown');
var seconds = 100, timer;

function secondPassed() {
  if ( --seconds == 0 ) {
    window.clearInterval( timer );
    // your code here executing when count down has finished ...
  } else {
    display.innerHTML = Math.floor( seconds / 60 ) + ':' + String( "0" + ( seconds % 60 ) ).substr( -2 );
  }
}

timer = window.setInterval( secondPassed, 1000 );
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top