Гость
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / вывод через таймер оставшегося времени / 2 сообщений из 2, страница 1 из 1
22.01.2020, 15:43
    #39917381
raven_2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вывод через таймер оставшегося времени
доброе время суток, коллеги!

нужно в MVC-приложении на странице выводить оставшееся на тестирование время.
поискал примеры нашел вот этот
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
    <script>
        function startTimer() {
            var today = new Date();

            var h = today.getHours();
            var m = today.getMinutes();
            var s = today.getSeconds();
            m = checkTime(m);
            s = checkTime(s);
            document.getElementById('txt').innerHTML =
                "сейчас: " + h + ":" + m + ":" + s;
            var t = setTimeout(startTimer, 200);
        }
        function checkTime(i) {
            if (i < 10) { i = "0" + i };  // add zero in front of numbers < 10
            return i;
        }
    </script>



на его основе написал свою функцию
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
    <script>
        function startTimer()
        {
            var duration = 1200;
            var m = parseInt(duration / 60, 10);
            var s = parseInt(duration % 60, 10);
            while (duration > 0)
            {
                duration = duration - 1;
                m = parseInt(duration / 60, 10);
                s = parseInt(duration % 60, 10);
                m = checkTime(m);
                s = checkTime(s);
                document.getElementById('txt').innerHTML =
                    "Осталось: "+ m + ":" + s;
            }            
            var t = setTimeout(startTimer, 1000);
        }
        function checkTime(i) {
            if (i < 10) { i = "0" + i };  // add zero in front of numbers < 10
            return i;
        }
    </script>



она лежит на странице, и запускается при ее загрузке

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
@using Quizz.Models
@{
    UserVM userConnected = Session["UserConnected"] as UserVM;
    QuizVM quizSelected = Session["SelectedQuiz"] as QuizVM;

}

<!DOCTYPE html>
<html>
<head>

    <script>
        function startTimer()
        {
            var duration = 1200;
            var m = parseInt(duration / 60, 10);
            var s = parseInt(duration % 60, 10);
            while (duration > 0)
            {
                duration = duration - 1;
                m = parseInt(duration / 60, 10);
                s = parseInt(duration % 60, 10);
                m = checkTime(m);
                s = checkTime(s);
                document.getElementById('txt').innerHTML =
                    "Осталось: "+ m + ":" + s;
            }            
            var t = setTimeout(startTimer, 1000);
        }
        function checkTime(i) {
            if (i < 10) { i = "0" + i };  // add zero in front of numbers < 10
            return i;
        }
    </script>
</head>
<body onload="startTimer()">
    @if (userConnected != null)
    {


        <div class="row">

            <div class="col-md-4">
                <img src="@string.Format("{0}{1}", Url.Content("~/images/"), userConnected.EventLevel)" class="img-circle" style="width: 12%;" />
                <span> <b>Welcome :</b> @userConnected.UserName</span>
                

                @if (quizSelected != null && !string.IsNullOrEmpty(quizSelected.EndTime.ToString()))
                {
                    if (DateTime.Now < quizSelected.EndTime)
                    {
                        <div id="txt"> </div>
                    }
                    else
                    {
                        <span> <b>Время истекло!</b></span>
                    }
                }
            </div>

            <div class="col-md-4" style="margin-top: 15px;">

                @if (quizSelected != null && !string.IsNullOrEmpty(quizSelected.QuizName))
                {
                    <span> <b>Quiz Selected :</b> @quizSelected.QuizName</span>
                }
                else
                {
                    <span> <b>Выберите свой вариант теста </b></span>
                }

            </div>

            <div class="col-md-4" style="margin-top: 15px;">
                <span> <b>Date :</b> @DateTime.Now</span>
            </div>

        </div>
    }
</body>
</html>



пока работал с текущим временем, все было нормально.
но после модернизации перестала работать.
неизменно выводя на экран Осталось 00:00

что я делаю не так?
заранее спасибо
...
Рейтинг: 0 / 0
22.01.2020, 17:30
    #39917473
raven_2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вывод через таймер оставшегося времени
на самом деле, проблема в другом: модель quizSelected в параметре EndTime
содержит информацию о дате/времени окончания тестирования
но мне не удается передать его в функцию.

как сделать так, чтобы function startTimer() содержала и вызывалась с параметром?

заранее спасибо
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / вывод через таймер оставшегося времени / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]