setInterval Javascript MVC2 - PullRequest
       1

setInterval Javascript MVC2

0 голосов
/ 13 марта 2012

Я пытаюсь использовать setInterval для вычисления оставшегося времени, вот мой сценарий:

 var intervalID;
        function StartTimer() {
            var intervalID = setInterval(function () {
                var settimmer = 100; //  $('#timeleft').val();
                var seconds = 0;
                seconds++;
                if (seconds >= 60) {
                    settimmer--;
                    seconds = 0;
                    $('#timeleft').val(settimmer);
                }
            }, 1000);
        }
        function StopTimer() {
            clearInterval(intervalID);
        }

<input type="text" size="8" id="timeleft" name="timeleft" value="100" />
    <button onclick="StartTimer();">
        start</button>
    <button onclick="StopTimer();">
        Stop</button>

У меня не работает, однако, когда я использую следующий скрипт, он работает, но не знаю, как его остановить:

  var settimmer = 100;
   var seconds = 0;
    $(function () {

            window.setInterval(function () {
                seconds++;
                if (seconds >= 60) {
                    settimmer--;
                    seconds = 0;
                    $('#timeleft').val(settimmer);
                }

            }, 1000);

    });

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 13 марта 2012

Проблема в объеме переменной.Вы повторно объявляете intervalID в функции StartTimer, и он будет охватывать глобальную переменную 'intervalID' и использоваться только в этой функции.Фактически, переменная 'intervalID' снаружи не оценена.Поэтому, когда вы используете clearInterval (intervalID), он, безусловно, не работает.

0 голосов
/ 13 марта 2012

Вы повторно декларируете intervalID в функции StartTimer(), удалите var.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...