как рассчитать часы, минуты, секунды, используя JavaScript

javascript

176 просмотра

3 ответа

Я создал систему онлайн-экзаменов и включил таймер обратного отсчета в систему онлайн-экзаменов. Ниже мой код JavaScript. Пожалуйста, проверьте

<h2><p style="float: right" id="countdown"></p></h2>

<script>
    $(document).ready(function () {
 $examination_test_id = $("#examination_test_id").val();
        $time_limit = $("#time_limit").val();
        var d = new Date($time_limit);  //14-August-2016 01:20:00
        var hours = d.getHours();       //01
        var minute = d.getMinutes();    //20
        var minutes = hours * 60 + minute;
        var seconds = 60 * minutes;     //00
        console.log(seconds);
        if (typeof (Storage) !== "undefined") {      //checks if localStorage is enabled
            if (sessionStorage.seconds) {                       //checks if seconds are saved to localstorage
                seconds = sessionStorage.seconds;

            }
        }
        function secondPassed() {
            var minutes = parseInt((seconds) / 60);
            var hours = parseInt(minutes / 60);
            var remainingSeconds = seconds % 60;
            if (remainingSeconds < 10) {
                remainingSeconds = "0" + remainingSeconds;
            }

            if (typeof (Storage) !== "undefined") {
                sessionStorage.setItem("seconds", seconds);
            }

            document.getElementById('countdown').innerHTML = hours + ":" + minutes + ":" + remainingSeconds;

            if (seconds == 0) {
                clearInterval(myVar);
                document.getElementById('countdown').innerHTML = alert('Timeout');
                window.location.href = base_url + "student/Examinations/check_answer/" + $examination_test_id;

                if (typeof (Storage) !== "undefined") {
                    sessionStorage.removeItem("seconds");
                }
            } else {
                seconds--;
            }
        }
        var myVar = setInterval(secondPassed, 1000);

    });
});
</script>

Мой вопрос: таймер отсчета должен начинаться в 01:20:00, но в моем случае таймер обратного отсчета начинается в 01:80:00, почему? пожалуйста, проверьте мой код JavaScript

Автор: kishankakadiya Источник Размещён: 08.11.2019 11:05

Ответы (3)


0 плюса

var minutes = hours * 60 + minute;

Один час двадцать минут - это 80 минут. Вы должны изменить эту строку, чтобы просто иметьvar minutes = minute;

Автор: jedifans Размещён: 20.08.2016 09:07

0 плюса

В считанные минуты вы берете все,

var minutes = hours * 60 + minute;
     80= 1*60 + 20
Автор: Ruhul Размещён: 20.08.2016 09:07

0 плюса

менее чем за 5 секунд я только что нашел ответ: Javascript возвращает количество дней, часов, минут, секунд между двумя датами

или JavaScript секундная строка в формате чч: мм: сс

Поэтому, пожалуйста, поищите немного, прежде чем публиковать подобные вопросы.

Автор: Gatsbill Размещён: 20.08.2016 09:43
Вопросы из категории :
32x32