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

Код: javascript
1.
<script src="jquery/jquery.countdown.min.js"></script>



В этой строке текста написано, что по отношению к расположению страницы файл со скриптом (jquery.countdown.min.js) должен лежать в подкаталоге jquery.

Используется только 1 файл - jquery.countdown.min.js, второй (jquery.countdown.js) можно удалить, если не пригодится.

Если перекладываете скрипты, то меняйте путь к ним в коде страницы.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005382
zFARTz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
yelena, так всё сделал всё отлично установил запустил всё работает. Почему после рестарта страницы время исчезает? Но как только нажмёшь старт продолжает идти дальше.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005385
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zFARTz, потому что я подключаю таймер по факту нажатия на кнопку. Если нужно как-то иначе, то изучайте плагин и допиливайте код сами. Заодно поучитесь.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005387
zFARTz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
yelena, тише тише спасибо вам огромное ЛЕДИ Вы меня спасли. Попытаюсь сам что-нибудь сделать((
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005402
zFARTz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
yelena, да не получается у меня его заново запустить по истечению времени и время вернуть после обновления страницы я ведь писал я не сильно разбираюсь в кодах. Боже ты мой я неделю его делал и ничего не вышло а Вы за полчаса его собрали и запустили. У меня нервов уже не хватает.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005411
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zFARTz, вы уже за неделю на форуме всем, видимо, мозг своей ерундовой проблемой вынесли. Все помощники из темы куда-то испарились. Странно, что в правилах форума не написано, что форум - это не сайт волонтеров, которые бесплатно решают чужие проблемы. Я понимаю, что тут помогают исправлять ошибки. Подразумевается, что человек в теме, учится и многое делает сам.

И сейчас есть два сценария развития событий:
1. Вы продолжаете выносить мозг читателям этой ветки. И, может быть, кто-то код допишет. Хотя с вашими способностями делать грамотную постановку задачи вы сами весь процесс испортите.
2. Вы вынесете мозг себе и, может быть, дойдете до мысли, что можно зайти в раздел "Работа", предложить небольшую плату и через небольшой промежуток времени получить решение проблемы.

Все. Я больше в решении проблемы не участвую. Мои волонтерские способности закончились.
Желаю вам либо научиться делать сайты, либо делать то, что вы умеете делать.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005416
zFARTz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
yelena, спасибо.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005417
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yelenazFARTz, см. архивСкрипт надо допилить:

1. Убрать лишний закрывающий тег </script> ;
2. Использовать data-атрибуты вместо просто своих атрибутов;
3. Ну и главное - исправить багу: после окончания отсчёта, новый уже не стартует и окна со ссылками не открываются (вставите таймер на 10 секунд).
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005418
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAyelenazFARTz, см. архивСкрипт надо допилитьЭто я про countdown.html .
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005419
zFARTz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA, да я понял( спасибо всем. Это ведь легко.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005438
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANAyelenazFARTz, см. архивСкрипт надо допилить:

1. Убрать лишний закрывающий тег </script> ;
2. Использовать data-атрибуты вместо просто своих атрибутов;
3. Ну и главное - исправить багу: после окончания отсчёта, новый уже не стартует и окна со ссылками не открываются (вставите таймер на 10 секунд).

По вопросу 1: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script

Код: javascript
1.
2.
<!-- HTML5 -->
<script src="javascript.js"></script>



По вопросу 2: Вы хотите, чтобы атрибуты назывались data-hours и т.д. В каком стандарте написано, что это сильно принципиально? Если вы знаете такой документ, киньте, пожалуйста, ссылку. Мне для общего развития. Надо быть в курсе. Читала https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_data_attributes Там не написано, что возбраняется.

По вопросу 3: в постановке задачи ничего не было сказано про то, что через некоторое время таймер должен давать новый отсчет. Было понято как "этот тест два раза не проходят".
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005445
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yelenaskyANAпропущено...
Скрипт надо допилить:

1. Убрать лишний закрывающий тег </script> ;
2. Использовать data-атрибуты вместо просто своих атрибутов;
3. Ну и главное - исправить багу: после окончания отсчёта, новый уже не стартует и окна со ссылками не открываются (вставите таймер на 10 секунд).

По вопросу 1: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script

Код: javascript
1.
2.
<!-- HTML5 -->
<script src="javascript.js"></script>

У Вас лишний тег внутри <body> :

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
<body>
<table border="0" cellpadding="0" cellspacing="0" bordercolor="#00000">
<tr><td><div class="timer" hours="2" minutes="30" seconds="10" id="mail" url="https://mail.ru"></div></td><td><input type="button" value="Старт"></td></tr>
<tr><td><div class="timer" hours="1" minutes="30" seconds="30" id="ya" url="http://ya.ru"></div></td><td><input type="button" value="Старт"></td></tr>
<tr><td><div class="timer" hours="0" minutes="20" seconds="0" id="rambler" url="http://rambler.ru"></div></td><td><input type="button" value="Старт"></td></tr>
</table>
</script>
</body>



yelenaПо вопросу 2: Вы хотите, чтобы атрибуты назывались data-hours и т.д. В каком стандарте написано, что это сильно принципиально?Это просто рекомендация от w3c - использовать data-* атрибуты для пользовательских (custom) данных, ну и чтобы статические анализаторы не ругались на неизвестные им атрибуты.

yelenaПо вопросу 3: в постановке задачи ничего не было сказано про то, что через некоторое время таймер должен давать новый отсчет. Было понято как "этот тест два раза не проходят".Это были мои размышления. ТС потом написал:

"Вы зашли на сайт увидели много ссылок нажали на одну из них перешли по адресу который указан в ссылке в это время сработал таймер обратного отсчёта для этой ссылки,
вернулись назад и увидели оставшееся время допустим 2 часа 15 мин. закрыли браузер вернулись через энное время и увидели что оно закончилось опять нажали и перешли по ссылке ."

Тынц: 17880367
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005453
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA, да, каюсь, этот </script> бы не заметила. Скопировала какой-то кусок из этой темы и не конца вычистила.

Пока существуют микроформаты, никто не будет запрещать кастомные атрибуты без приставки data-.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005456
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yelenaskyANA, да, каюсь, этот </script> бы не заметила. Скопировала какой-то кусок из этой темы и не конца вычистила.

Пока существуют микроформаты, никто не будет запрещать кастомные атрибуты без приставки data-.При чем тут микроформаты? data-* атрибуты поддерживаются браузерами и JavaScript библиотеками, так как это часть стандарта.
А какие потенциальные проблемы могут быть с кастомными атрибутами, фиг знает.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005457
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, еще HTML5 валидатор будет ругаться, оно Вам надо? :)
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005458
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yelena, по Вашей же ссылке non-standard attributes причесляются к хакам :)
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005463
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: 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.
<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="startTimer('tm')" >


<script>
    
    var config={        
      hours : 0,
      minutes : 0,
      sec : 27,
      url:'https://mail.ru/'
    };


    function Display(time,obgId){
      hours=time.hours+"";
      minutes=time.minutes+"";
      sec=time.sec+"";
     if (sec.length<2) sec="0"+sec;
     if (minutes.length<2) minutes="0"+minutes;
     if (hours.length<2) hours="0"+hours;
     document.getElementById(obgId).innerHTML=hours+":"+minutes+":"+sec;
    }

    function getFormatTime(deffTime){
      var time={};

      timestamp=deffTime;
      
      time.hours=Math.floor(timestamp/3600/1000);
      timestamp=timestamp-time.hours*3600*1000;
      time.minutes=Math.floor(timestamp/60/1000);
      timestamp=timestamp-time.minutes*60*1000;
      time.sec=Math.floor(timestamp/1000);
      return time;
    };


   var Timer = function(obgId,config){
   
     me=this;
     this.obj={};
     this.url=config.url;
     this.obj.timeEnd= (+new Date)+(config.hours*3600+config.minutes*60+config.sec)*1000;//время окончания
     this.obj.element=obgId;
     this.interval = null;
     
   

    this.reduce = function() {

        
        now = (+new Date);
        deffTime=me.obj.timeEnd-now;
        deffTime=(deffTime>0)?deffTime:0;
        time=getFormatTime(deffTime);
                 
        Display(time,me.obj.element);
        if (deffTime==0) {me.stop();return false;} 
        return true;
     }
     
    this.start = function() {      
        if(!me.reduce()) return;
        me.interval = setInterval(me.reduce, 1000);
        
        document.getElementById('tm').className="sp";
        Sl(me.url);
       
    }
    this.stop = function() {
      
      clearInterval(me.interval);
      document.getElementById('tm').className="st";
      alert("Усе, время кончилось");
    }    
}

function Sl(url)
    {window.open(url,'_blank');}  
   
function startTimer(obgId) {
       
    timer=new Timer(obgId,config);
    
   if(localStorage.getItem(obgId)==null){
      localStorage.setItem(obgId,JSON.stringify(timer.obj));
    }  

    timer.obj=JSON.parse(localStorage.getItem(obgId));
    timer.start();
        
};  
         
  
</script>
          
</body>
    </html>



может что-то полезное возьмете
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005487
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANAПри чем тут микроформаты? data-* атрибуты поддерживаются браузерами и JavaScript библиотеками, так как это часть стандарта. А какие потенциальные проблемы могут быть с кастомными атрибутами, фиг знает.

Микроформаты при том, что их разрабочики используют кастомные атрибуты, не начинающиеся с data-. Атрибуты с данными, предназначенными для машинной обработки. К примеру, http://schema.org/docs/gs.html

И я как бы тоже ничего руками не обрабатываю. ))

В принципе, если кому-то сильно режет глаз, можно и с data- начинать. А так - придирки. Проще всего выступать, не написав кода.)

У меня редактор простенький, не валидирует.

Вот, пусть хоть польза будет:

Код: 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.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
<!DOCTYPE html>
<html>
<head>
<meta charset="windows-1251">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="jquery/jquery.countdown.min.js"></script>
<script>
$(document).ready(function () {

	init();

	$('input[type=button]').click(function() {
	
		var div = $(this).parent().prev().find('.timer');
		var end;
		var now = new Date().getTime();
		
		if (localStorage.getItem(div.attr('id')) != null) {
			end = localStorage.getItem(div.attr('id'));
		}
		
		var millis = parseInt(div.attr('seconds'))*1000;
		millis += parseInt(div.attr('minutes'))*60*1000;
		millis += parseInt(div.attr('hours'))*3600*1000;		
		
		if (end != null) {
			if (end <= now) {
				end = now + millis;
				localStorage.setItem(div.attr('id'), end);						
			}
		} else {
			end = now + millis;
			localStorage.setItem(div.attr('id'), end);
		}
	
		var endDate = new Date();
		endDate.setTime(end);

		// YYYY/MM/DD hh:mm:ss
		var str = endDate.getFullYear()
		str += "/";
		str += endDate.getMonth() + 1;
		str += "/";
		str += endDate.getDate();
		str += " ";
		str += endDate.getHours();
		str += ":";
		str += endDate.getMinutes();
		str += ":";
		str += endDate.getSeconds();
			
		div.countdown(str, function(event) {
			$(this).text(
				event.strftime('%H:%M:%S')
			);		
		})
			
		window.open(div.attr('url'), '_blank');			
	});
});

function init() {

	$('.timer').each(function(index) {
	
		var div = $(this);
		var end;
		var now = new Date().getTime();
		
		if (localStorage.getItem(div.attr('id')) != null) {
			end = localStorage.getItem(div.attr('id'));
		}

		var h, m, s;
		
		if (end != null) {
		
			if (end <= now) {
				$(this).html('00:00:00');
			} else {
				var millis = end - now;
				
				h = (millis/(3600*1000)>>0).toString();
				millis -= h*3600*1000;
				m = (millis/(60*1000)>>0).toString();
				millis -= m*60*1000;
				s = (millis/1000>>0).toString();
			
				h = h.length < 2 ? "0" + h : h;
				m = m.length < 2 ? "0" + m : m;
				s = s.length < 2 ? "0" + s : s;			
				
				$(this).html(h + ":" + m + ":" + s);				
			}
			
		} else {
		
			h = div.attr('hours').length < 2 ? "0" + div.attr('hours') : div.attr('hours');
			m = div.attr('minutes').length < 2 ? "0" + div.attr('minutes') : div.attr('minutes');
			s = div.attr('seconds').length < 2 ? "0" + div.attr('seconds') : div.attr('seconds');			
		
			$(this).html(h + ":" + m + ":" + s);		
		}
	});
}
</script>
<style>
	.timer {
		width: 100px;
	}
</style>
</head>  
<body>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td><div class="timer" hours="2" minutes="30" seconds="10" id="mail" url="https://mail.ru"></div></td><td><input type="button" value="Старт"></td></tr>
<tr><td><div class="timer" hours="1" minutes="30" seconds="30" id="ya" url="http://ya.ru"></div></td><td><input type="button" value="Старт"></td></tr>
<tr><td><div class="timer" hours="0" minutes="1" seconds="15" id="rambler" url="http://rambler.ru"></div></td><td><input type="button" value="Старт"></td></tr>
</table>
<button onclick="localStorage.clear(); init()">Почистить localStorage</button>
</body>
</html>



Перед использованием нажать на кнопку "Почистить localStorage"!
Если я снова что-то не так поняла, я не виновата.

Будет какой-нибудь человек полезную инфу на форуме искать, а тут в теме словесного поноса на 3 км.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005495
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yelenaskyANAПри чем тут микроформаты? data-* атрибуты поддерживаются браузерами и JavaScript библиотеками, так как это часть стандарта. А какие потенциальные проблемы могут быть с кастомными атрибутами, фиг знает.

Микроформаты при том, что их разрабочики используют кастомные атрибуты, не начинающиеся с data-. Атрибуты с данными, предназначенными для машинной обработки. К примеру, http://schema.org/docs/gs.html Дак там же написано про назначение: "Schema.org provides a collection of shared vocabularies webmasters can use to mark up their pages in ways that can be understood by the major search engines: Google, Microsoft, Yandex and Yahoo!".

А пользовательские данные никак не должны отражаться ни на разметке, ни на работе поисковиков. Для этого и придумали, и добавили в стандарт data-* атрибуты.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005496
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA, да я в курсе, что там написано. Я все это уже давно прочитала. И не хочу это больше обсуждать. Да, в стандарте ввели новый тип атрибутов, до этогоь стандарта их не было, но были кастомные и широко использовались. Я использовала и продолжаю. Наверное, когда-нибудь перейду на data- . И не надо мне ничего доказывать. Я просто говорила о том, что есть на момент действия стандарта.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005497
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yelenaПроще всего выступать, не написав кода.Лично Вас я не задевал, лишь указал на недостатки в коде. Давайте и Вы не будете переходить на личности.

Когда у меня есть время, то я пишу код, можете поискать по форуму.
И если уж я берусь его выкладывать сюда, то стараюсь, чтобы он был качественный.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005498
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yelena, Вы сами попросили пояснить, зачем стоит использовать data-* атрибуты :)
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005499
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA, мой вопрос звучал иначе. Ну да ладно. Надоело.
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005500
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yelenaskyANA, мой вопрос звучал иначе. Ну да ладно. Надоело.Ну если мои ответы не устроили, то может Ресиг рассудит :)

John Resig - HTML 5 data- Attributes
...
Рейтинг: 0 / 0
Запуск двух и более таймеров на сате.
    #39005630
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К сведению остальных участников темы: я уже пожаловалась на этого товарища модератору. И надо дальше как-то сдерживать свои эмоции. Оказывается, циферки на таймере должны бежать после перезагрузки страницы. А я-то думала, что они должны начать бежать, когда юзер снова нажмет на кнопку. Автор темы даже не замечает, что таймер при повторном входе продолжает считать, как если бы страница была закрыта в браузере.

Если у кого-то есть желание общаться этим человеком дальше - общайтесь.

Модератор: Чуть почистил и закрываю тему - начался срач. Автору топика: все же надо немного читать доку, чтобы элементарные вопросы не задавать[idv]
...
Рейтинг: 0 / 0
25 сообщений из 100, страница 4 из 4
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Запуск двух и более таймеров на сате.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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