Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Запуск двух и более таймеров на сате. Решение. / 22 сообщений из 22, страница 1 из 1
13.07.2015, 11:08
    #39005702
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск двух и более таймеров на сате. Решение.
Только значит я решил-таки допилить предложенный скрипт, как топик закрыли :)

Выкладываю тут:

Код: html
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.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
<!DOCTYPE html>
<html>
<head>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/jquery-countdown/2.0.1/jquery.countdown.min.css" rel="stylesheet"/>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-countdown/2.0.1/jquery.plugin.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-countdown/2.0.1/jquery.countdown.min.js"></script>
    <style>
        .countdown {
            float: left;
            width: 240px;
        }
    </style>
    <script>
        $(document).ready(function () {
            initialize();

            $('button.start-countdown').click(function () {
                var sender = $(this),
                    countdown = $(sender.data('target')),
                    countdownDuration,
                    countdownId = countdown.attr('id'),
                    nowTime = new Date().getTime(), until, untilTime = null;

                if (localStorage.getItem(countdownId) != null) {
                    untilTime = localStorage.getItem(countdownId);
                }

                countdownDuration = countdown.data('seconds') * 1000;
                countdownDuration += countdown.data('minutes') * 60 * 1000;
                countdownDuration += countdown.data('hours') * 3600 * 1000;

                if (untilTime && untilTime <= nowTime) {
                    untilTime = nowTime + countdownDuration;
                }

                if (untilTime == null) {
                    untilTime = nowTime + countdownDuration;
                }

                localStorage.setItem(countdownId, untilTime);

                until = new Date();
                until.setTime(untilTime);

                countdown.countdown({ until: until });

                window.open(countdown.data('url'), '_blank');
            });
        });

        function initialize() {
            $('.countdown').each(function () {
                var countdown = $(this),
                    countdownId = countdown.attr('id'),
                    nowTime = new Date().getTime(), until, untilTime = null;

                if (localStorage.getItem(countdownId)) {
                    untilTime = localStorage.getItem(countdownId);
                }

                if (untilTime && (isNaN(untilTime) || untilTime <= nowTime)) {
                    return;
                }

                if (untilTime) {
                    until = new Date();
                    until.setTime(untilTime);

                    countdown.countdown({ until: until });
                }
            });
        }
    </script>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="8">
    <tr>
        <td>
            <span class="countdown" data-hours="2" data-minutes="30" data-seconds="10" data-url="https://mail.ru" id="mail"></span>
            &nbsp;
            <button class="start-countdown" data-target="#mail" type="button">Старт</button>
        </td>
    </tr>
    <tr>
        <td>
            <span class="countdown" data-hours="2" data-minutes="30" data-seconds="10" data-url="http://ya.ru" id="ya"></span>
            &nbsp;
            <button class="start-countdown" data-target="#ya" type="button">Старт</button>
        </td>
    </tr>
    <tr>
        <td>
            <span class="countdown" data-hours="2" data-minutes="30" data-seconds="10" data-url="http://rambler.ru" id="rambler"></span>
            &nbsp;
            <button class="start-countdown" data-target="#rambler" type="button">Старт</button>
        </td>
    </tr>
    <tr>
        <td><button onclick="localStorage.clear()">Почистить localStorage</button></td>
    </tr>
</table>
</body>
</html>



Ссылка на песочницу: http://plnkr.co/edit/zSPD0ok6PDLNutyTMAn8?p=preview
...
Рейтинг: 0 / 0
13.07.2015, 11:12
    #39005707
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск двух и более таймеров на сате. Решение.
Домашнее задание: избавиться от дублирования кода :)
...
Рейтинг: 0 / 0
13.07.2015, 13:13
    #39005895
zFARTz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск двух и более таймеров на сате. Решение.
skyANA, попробуйте поставить один из них на 10 секунд а когда время закончится ещё раз запустить.
...
Рейтинг: 0 / 0
13.07.2015, 13:47
    #39005925
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск двух и более таймеров на сате. Решение.
zFARTzskyANA, попробуйте поставить один из них на 10 секунд а когда время закончится ещё раз запустить.
Могли бы уже прочитать документацию по jQuery countdown и догадаться, что нужен destroy :)

Код: html
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.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
<!DOCTYPE html>
<html>
<head>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/jquery-countdown/2.0.1/jquery.countdown.min.css" rel="stylesheet"/>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-countdown/2.0.1/jquery.plugin.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-countdown/2.0.1/jquery.countdown.min.js"></script>
    <style>
        .countdown {
            float: left;
            width: 240px;
        }
    </style>
    <script>
        $(document).ready(function () {
            initialize();

            $('button.start-countdown').click(function () {
                var sender = $(this),
                    countdown = $(sender.data('target')),
                    countdownDuration,
                    countdownId = countdown.attr('id'),
                    nowTime = new Date().getTime(), until, untilTime = null;

                if (localStorage.getItem(countdownId)) {
                    untilTime = localStorage.getItem(countdownId);
                }

                countdownDuration = countdown.data('seconds') * 1000;
                countdownDuration += countdown.data('minutes') * 60 * 1000;
                countdownDuration += countdown.data('hours') * 3600 * 1000;
                
                if (untilTime && (isNaN(untilTime) || untilTime <= nowTime)) {
                    countdown.countdown('destroy');
                    untilTime = null;
                }

                if (untilTime == null) {
                    untilTime = nowTime + countdownDuration;

                    localStorage.setItem(countdownId, untilTime);

                    until = new Date();
                    until.setTime(untilTime);

                    countdown.countdown({ until: until });
                }

                window.open(countdown.data('url'), '_blank');
            });
        });

        function initialize() {
            $('.countdown').each(function () {
                var countdown = $(this),
                    countdownId = countdown.attr('id'),
                    nowTime = new Date().getTime(), until, untilTime = null;

                if (localStorage.getItem(countdownId)) {
                    untilTime = localStorage.getItem(countdownId);
                }

                if (untilTime && (isNaN(untilTime) || untilTime <= nowTime)) {
                    return;
                }

                if (untilTime) {
                    until = new Date();
                    until.setTime(untilTime);

                    countdown.countdown({ until: until });
                }
            });
        }
    </script>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="8">
    <tr>
        <td>
            <span class="countdown" data-hours="0" data-minutes="0" data-seconds="10" data-url="https://mail.ru" id="mail"></span>
            &nbsp;
            <button class="start-countdown" data-target="#mail" type="button">Старт</button>
        </td>
    </tr>
    <tr>
        <td>
            <span class="countdown" data-hours="2" data-minutes="30" data-seconds="10" data-url="http://ya.ru" id="ya"></span>
            &nbsp;
            <button class="start-countdown" data-target="#ya" type="button">Старт</button>
        </td>
    </tr>
    <tr>
        <td>
            <span class="countdown" data-hours="2" data-minutes="30" data-seconds="10" data-url="http://rambler.ru" id="rambler"></span>
            &nbsp;
            <button class="start-countdown" data-target="#rambler" type="button">Старт</button>
        </td>
    </tr>
    <tr>
        <td><button onclick="localStorage.clear()">Почистить localStorage</button></td>
    </tr>
</table>
</body>
</html>


Ссылка на песочницу: http://plnkr.co/edit/G56XlSj5cf6DFvYXrZkj?p=preview
...
Рейтинг: 0 / 0
13.07.2015, 14:05
    #39005946
zFARTz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск двух и более таймеров на сате. Решение.
skyANA, спасибо большое Вам за помощь. Подскажите тогда пожалуйста есть ли возможность вставить обычные цифры без подписей часы, минуты, секунды. Хотя бы так (СТАРТ 00:00:00) и по истечению времени чтобы так же и оставалось. Вы мне подскажите где поменять я сам постараюсь сделать.
...
Рейтинг: 0 / 0
13.07.2015, 14:25
    #39005977
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск двух и более таймеров на сате. Решение.
zFARTz, почитайте уже документацию: http://keith-wood.name/countdown.html

Закладка Formats 1 , пример Compact versio n, нажать Show code .
...
Рейтинг: 0 / 0
13.07.2015, 14:29
    #39005979
zFARTz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск двух и более таймеров на сате. Решение.
skyANA, спасибо большое за помощь буду разбираться.
...
Рейтинг: 0 / 0
13.07.2015, 14:46
    #39005990
zFARTz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск двух и более таймеров на сате. Решение.
skyANA, последний вопрос. Могу ли я создать папку допустим CSS поместить в неё часть кода таймера кроме части которая отвечает за запуск и поместить в корень сайта а от неё прописать путь и вставить на страницу. Для того чтобы мне весь код не оставлять на странице. Если возможно то выделите пожалуйста код который мне можно скрыть в файле css или js. И больше мне ничего не нужно.
...
Рейтинг: 0 / 0
13.07.2015, 14:54
    #39005997
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск двух и более таймеров на сате. Решение.
zFARTz, можете.

Весь текст между тегами <style> и </style> в css, а между тегами <script> и </script> в js.
Тогда уж Вы их ещё и минимизируйте, а то их всё равно можно будет посмотреть при жедании :)
...
Рейтинг: 0 / 0
13.07.2015, 14:56
    #39005999
zFARTz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск двух и более таймеров на сате. Решение.
skyANA, вот теперь всё) Ещё раз спасибо за помощь где Вы были неделю назад.)
...
Рейтинг: 0 / 0
13.07.2015, 15:03
    #39006010
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск двух и более таймеров на сате. Решение.
zFARTz, неделю назад Вам надо было потратить час времени, чтобы чётко расписать, чего Вы хотите.
...
Рейтинг: 0 / 0
13.07.2015, 15:24
    #39006043
zFARTz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск двух и более таймеров на сате. Решение.
skyANA, что поделать.
...
Рейтинг: 0 / 0
13.07.2015, 15:39
    #39006064
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск двух и более таймеров на сате. Решение.
zFARTzskyANA, что поделать.
За пивом ему беги!
...
Рейтинг: 0 / 0
14.07.2015, 08:43
    #39006514
zFARTz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск двух и более таймеров на сате. Решение.
skyANA, доброе утро. Сделал как Вы написали. Создал отдельные файлы залил в корень сайта прописал пути к ним но таймер так и не запустился. Что я не так сделал?
...
Рейтинг: 0 / 0
14.07.2015, 08:51
    #39006526
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск двух и более таймеров на сате. Решение.
zFARTzskyANA, доброе утро. Сделал как Вы написали. Создал отдельные файлы залил в корень сайта прописал пути к ним но таймер так и не запустился. Что я не так сделал?не научился пользоваться головой и отладчиком (F12).
именно отладчик говорит конкретно, что сделано не так, а не посторонний человек хер знает откуда из интернета, в глаза не видевший твоего сайта.
...
Рейтинг: 0 / 0
14.07.2015, 09:22
    #39006568
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск двух и более таймеров на сате. Решение.
zFARTzтаймер так и не запустился
Значит skyANA опять без пива...
...
Рейтинг: 0 / 0
14.07.2015, 10:20
    #39006662
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск двух и более таймеров на сате. Решение.
krvsazFARTzтаймер так и не запустился
Значит skyANA опять без пива... Вчера после работы зашли с женой поужинать в Temple Bar, и там знакомый ирландец, которого подруга один раз притащила на шашлыки (где собственно и познакомились), с ходу угостил меня пинтой светлого.

Какой отсюда вывод? :)
...
Рейтинг: 0 / 0
14.07.2015, 10:36
    #39006684
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск двух и более таймеров на сате. Решение.
skyANAКакой отсюда вывод? :)
Заграница нам поможет! (с)
...
Рейтинг: 0 / 0
14.07.2015, 10:41
    #39006689
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск двух и более таймеров на сате. Решение.
zFARTzskyANA, доброе утро. Сделал как Вы написали. Создал отдельные файлы залил в корень сайта прописал пути к ним но таймер так и не запустился. Что я не так сделал? Не буду портить себе карму :)

Ловите:
...
Рейтинг: 0 / 0
14.07.2015, 11:05
    #39006708
zFARTz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск двух и более таймеров на сате. Решение.
skyANA, вот за это я Вас уважаю! Благодарю за бескорыстную помощь.
...
Рейтинг: 0 / 0
22.12.2015, 03:48
    #39134021
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск двух и более таймеров на сате. Решение.
skyANAkrvsaпропущено...

Значит skyANA опять без пива... Вчера после работы зашли с женой поужинать в Temple Bar, и там знакомый ирландец, которого подруга один раз притащила на шашлыки (где собственно и познакомились), с ходу угостил меня пинтой светлого.

Какой отсюда вывод? :)
Ты в Дублине был?!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
06.07.2017, 15:09
    #39483889
Kajros
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск двух и более таймеров на сате. Решение.
Уважаемый, skyANA! Подскажите пожалуйста, как сделать, что бы в Вашем великолепном таймере, кнопка "Старт" блокировалась после начала отсчёта времени, а после того, как время вышло, кнопка снова становилась активной и выполнялось какое-нибудь действие, например проигрывался аудио файл или появлялась бы какая-нибудь картинка.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Запуск двух и более таймеров на сате. Решение. / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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