powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Запуск двух и более таймеров на сате.
25 сообщений из 100, страница 3 из 4
Запуск двух и более таймеров на сате.
    #39005262
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zFARTz, допустим начался отсчёт, на таймере 2 часа 15 минут. Пользователь закрыл браузер, ушёл на 1 час, вернулся, открыл браузер.

Что должно быть на таймере: 2 часа 15 минут, или 1 час 15 минут?
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005265
zFARTz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA, 1 час 15 минут всё верно.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005267
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zFARTzskyANA, 1 час 15 минут всё верно.
А Вы сохраняете в storage 2 часа 15 минут:
Код: javascript
1.
2.
3.
localStorage.setItem('hours5', hours);
localStorage.setItem('minutes5', minutes);
localStorage.setItem('sec5', sec);


И когда пользователь вернётся через час, то там по прежнему будет 2 часа 15 минут и таймер их и покажет.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005270
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zFARTz,
что бы отсчет шел дальше, нужно проверку на существования хранилища обернуть в функцию
window.onload и еще добавьте проверку на существования объекта таймер, а то если 2 раза нажать, то он "сходит с ума".
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005271
zFARTz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kunaksergey, вы смеётесь я этот чуть собрал по кускам. Ровно 7 дней прошло как я с ним мучаюсь. Если Вы знаете как поменять значения то добавьте их пожалуйста в код я не сильно разбираюсь. Прошу Вас помочь.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005273
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zFARTz,

Код: javascript
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.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
<html>
<head>
     <meta charset = "utf-8">
    <title>111</title>
    
 <style>
  .st{background-color:blue; 
      color:white;}
  .sp{background-color:red; 
      color:white;}
</style>
</head>  
    <body>
  <table border="0" cellpadding="0" cellspacing="0" bordercolor="#00000">
<tr><td><div class="st" id="tm"></div></td></tr> 
<input type="button" value="mail" onclick="main()" >


<script>
    
      var hr = "00";
      var ms = "00";
      var sc = "17";
       
    var hours = hr;
    var minutes = ms;
    var sec = sc;
    
    function main(){
      startTimer('tm');Sl()
    }

    var Timer = function(element, hours, minutes, sec){
    var me = this;
    this.hours = hours;
    this.minutes = minutes;
    this.sec = sec;
    this.element = element;
    this.interval = null;
    
     
    this.reduce = function() {
        if(me.hours + me.minutes + me.sec <= 0) {
            me.stop();
            return;
        }
        me.sec-=1;
        if(me.sec<0) me.sec=59,me.minutes-=1;
        if(me.minutes<0) me.minutes=59,me.hours-=1; 
        if(me.hours<0) me.hours=23;
        
        localStorage.setItem('hours5', me.hours);
        localStorage.setItem('minutes5', me.minutes);
        localStorage.setItem('sec5', me.sec);
        
        me.sec = me.sec+"";
        me.minutes = me.minutes+"";
        me.hours = me.hours+""; 
        if (me.sec.length<2) me.sec = "0"+me.sec;
        if (me.minutes.length<2) me.minutes = "0"+me.minutes;
        if (me.hours.length<2) me.hours = "0"+me.hours;
        me.element.innerHTML=me.hours+":"+me.minutes+":"+me.sec; 
    }
     
    this.start = function(){      
        me.interval = setInterval(me.reduce, 1000);
        me.element.className="sp"
    }
    this.stop = function(){
        clearInterval(me.interval);
        me.element.className="st"
    }    
}
function Sl()
    {window.open('https://mail.ru/','_blank');}  
    
function startTimer(obgId) {
  /*  if(localStorage.getItem('sec5') > 0)
    {return;};*/
    
   if (localStorage.getItem('sec5') != NaN && localStorage.getItem('sec5') ==0) {
            hours = hr;
            minutes = ms;
            sec = sc; 
        
        localStorage.setItem('hours5', hr);
        localStorage.setItem('minutes5', ms);
        localStorage.setItem('sec5', sc); 
                 
        document.getElementById('tm').innerHTML = hours+":"+minutes+":"+sec; 
        };  
         
var timer = new Timer(document.getElementById(obgId), hours, minutes, sec);
    timer.start();
}  
</script>
        
            
            
      <script>
          
              var tt = localStorage.getItem('sec5');
  console.log(tt);
    
    if (isNaN(tt) || localStorage.getItem('sec5') ==null){
       localStorage.setItem('hours5', hours);
       localStorage.setItem('minutes5', minutes);
       localStorage.setItem('sec5', sec);
    }
          
          
        if (localStorage.getItem('sec5') !=0) {
           hours = localStorage.getItem('hours5');
           minutes = localStorage.getItem('minutes5');
           sec = localStorage.getItem('sec5'); 
             sec = sec+""
               if (sec.length<2) sec = "0"+sec;   
            main();
     }    
          document.getElementById('tm').innerHTML = hours+":"+minutes+":"+sec;   
        </script>
            
</body>
    </html>
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005275
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ему надо сохранять не только время таймера, но и время сохранения показаний таймера, чтобы потом таймер правильно стартовать.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005278
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
yelenaЕму надо сохранять не только время таймера, но и время сохранения показаний таймера, чтобы потом таймер правильно стартовать.
я так понимаю итогом будет задача, противоположная начальной
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005281
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kunaksergey, да сама его идея с таймером не до конца продумана. Если урлы ссылок не будут хитро спрятаны, то человек спокойно скопирует урл и пойдет его смотреть в соседнем окне. И чем тут таймер поможет?
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005282
zFARTz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
yelena, мне не нужно ничего прятать ссылки свободные.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005299
zFARTz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решение я так понял никто не нашёл? Спасибо за помощь кто помогал разобраться.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005301
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zFARTz,
решение понятно, только переписывать надо много. Если до завтра терпит..
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005302
zFARTz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kunaksergey, он мне очень нужен. Неделя пролетела ещё день конечно подожду.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005310
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yelenaЕму надо сохранять не только время таймера, но и время сохранения показаний таймера, чтобы потом таймер правильно стартовать.Я уже несколько раз писал, что нужно сохранять только дату окончания отсчёта :)

А как правильно стартовать таймер и стартовать-ли вообще, определяется из разницы между сейчас (new Date()) и сохранённой датой.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005311
zFARTz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA, как я могу сохранить дату окончания отсчёта если я даже не знаю в какой день и в какое время будет сделан переход по ссылке?
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005318
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zFARTzskyANA, как я могу сохранить дату окончания отсчёта если я даже не знаю в какой день и в какое время будет сделан переход по ссылке?Мда, приехали.

У Вас в момент перехода по ссылке вызывается функция main() , что запускает таймер.
Внутри этой функции к текущей дате ( new Date() ) прибавляете Ваши часы, минуты, секунды и получаете дату окончания отсчёта.

Элементарно.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005319
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S.: советую воспользоваться библиотекой Moment.js .
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005328
zFARTz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA, а проще разве нет способа поставить на сайт таймеры? Без всяких наворотов просто одни цифры и всё. Но чтобы работал как я описывал. Я видел как-то подключают на примере онлайн:

<script src=" https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="js/jquery.countdown.js"></script>
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005329
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zFARTzskyANA, а проще разве нет способа поставить на сайт таймеры? Без всяких наворотов просто одни цифры и всё. Но чтобы работал как я описывал. Я видел как-то подключают на примере онлайн:

<script src=" https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="js/jquery.countdown.js"></script>Да, конечно, вот тот пример: http://hilios.github.io/jQuery.countdown/

Но Вам разве надо показывать то, сколько осталось до конца года?
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005330
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там и другие примеры есть, но они вроде как тоже не про Ваш случай :)
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005332
zFARTz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA, нет нет. Значит не подойдёт. На моём таймере очень большой код. Получается если мне нужно вывести 30 таймеров на сайт я должен делать для каждого скрипт прописав id(tm2),id(tm3) и т.д. накладно получиться. В одном скрипте прописать столько таймеров и вывести их в разные места на сайте не получится.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005355
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zFARTz, см. архив
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005362
zFARTz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
yelena, КАК Вы это сделали? Я сижу час изучаю.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005365
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zFARTz, учитесь-учитесь. Это всем полезно. Почитайте мой код и все поймете.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005367
zFARTz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
yelena, Вы молодцы не думал что именно вы мне поможете. Я так понимаю два файла лучше скинуть в корень сайта?
...
Рейтинг: 0 / 0
25 сообщений из 100, страница 3 из 4
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Запуск двух и более таймеров на сате.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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