Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
2 / 2 / 0
Регистрация: 22.04.2011
Сообщений: 35

Вставка нескольких таймеров на странице

30.09.2013, 19:50. Показов 2394. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, подскажите, что я делаю не так. Через поиск нашел несколько советов, но все-равно работает неправильно.
У меня несколько таймеров отсчета времени. Для каждого таймера уникальный div id, который передается в javascript функцию, но отображается таймер только последнего дива, который был выведен.

Вот так:
<div id="clock1"></div>
<div id="clock2"></div>
<div id="clock3">Тут таймер есть</div>

Код:
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
var Timeout;
 var s1='',s2='';
 function form2 (v) { return (v<10?'0':'')+v; }
 function goodwordform(k,w,o1,o2,o5) {
  if ( (k%100>10 && k%100<20) || k%10>4 || k%10==0) w+=o5;
  else if (k%10==1) w+=o1;
  else w+=o2;
  return w;
 } 
 function showtime () {
  var z=new Date().getTime();
  var t=Math.floor((Math.max(Timeout,z)-Math.min(Timeout,z))/1000);
  var d=Math.floor(t/86400); t-=d*86400;
  var h=Math.floor(t/3600); t-=h*3600;
  var m=Math.floor(t/60); t-=m*60;
  var s=t;
 
 
if (z<Timeout) {
document.getElementById('clock'+ddv).innerHTML =  (z<Timeout?s1:s2)+' '+(d>0?d+' '+goodwordform(d,'д','ень','ня','ней')+', ':'')+form2(h)+' ч. '+form2(m)+' м. '+form2(s)+' с.';
            }
else {
document.getElementById('clock'+ddv).innerHTML =  'Акция уже закончилась';
     }
 
  
 }
 function inittime (d,mon,y,h,m,s,str1,str2,dv) {  //  здесь передается id дива, в переменную dv
  var z=new Date();
  z.setFullYear(y,mon-1,d);
  z.setHours(h,m,s);
  Timeout=z.getTime();
  s1=str1; s2=str2;
  window.setInterval ('showtime();',1000);
ddv=dv;
 }
Вызывается функция так:

JavaScript
1
2
3
<script type="text/javascript">
 inittime (31,09,2013,0,0,0,\' \',\'От конца акции \','.$cupons[id].');
</script>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.09.2013, 19:50
Ответы с готовыми решениями:

Несколько таймеров на одной странице
Здравствуйте. Есть код таймера CountDowndmn: var montharray = new Array(&quot;Jan&quot;, &quot;Feb&quot;, &quot;Mar&quot;, &quot;Apr&quot;, &quot;May&quot;, &quot;Jun&quot;,...

Несколько таймеров(часов) на одной странице (MVC)
Добрый вечер, реализую несколько часов на одной странице ( с MVC подходом ). В модели содержится методы запуска каждого таймера...

Вставка счетчиков и таймеров. Язык LD
Помогите разобраться. Создаю проект на языке LD. При попытке вставить счетчик CTU выдает ошибку: Object reference not set to an instance of...

2
2 / 2 / 0
Регистрация: 22.04.2011
Сообщений: 35
04.10.2013, 22:22  [ТС]
Ребят, ни у кого мыслей нет? Не могу справится.. Вроде все нормально, слайдер у меня также сделан и работает всё в случае с ним.
0
388 / 275 / 76
Регистрация: 19.09.2011
Сообщений: 828
04.10.2013, 23:22
oiki,
ddv=dv;
Цитата Сообщение от oiki Посмотреть сообщение
работает неправильно
Цитата Сообщение от oiki Посмотреть сообщение
отображается таймер только последнего дива
JavaScript
1
ddv=dv;
JavaScript
1
document.getElementById('clock'+ddv)
все правильно, так и должно быть.

ужасный, отвратительный код нахрена блин так писать руки оторву если увижу.

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
function timer(d,mon,y,h,m,s,str1,str2,dv){
  var Timeout;
  var s1='',s2='';
  var ddv;
 
  var form2 = function (v) {
    return (v<10?'0':'')+v;
  }
 
  var goodwordform = function(k,w,o1,o2,o5) {
    if ( (k%100>10 && k%100<20) || k%10>4 || k%10==0) w+=o5;
    else if (k%10==1) w+=o1;
    else w+=o2;
    return w;
  } 
 
  var showtime = function () {
    var z=new Date().getTime();
    var t=Math.floor((Math.max(Timeout,z)-Math.min(Timeout,z))/1000);
    var d=Math.floor(t/86400); t-=d*86400;
    var h=Math.floor(t/3600); t-=h*3600;
    var m=Math.floor(t/60); t-=m*60;
    var s=t;
 
    if (z<Timeout) {
     document.getElementById('clock'+ddv).innerHTML
     = (z<Timeout?s1:s2)+' '
     + (d>0?d+' '+goodwordform(d,'д','ень','ня','ней')
     + ', ':'')+form2(h)+' ч. '+form2(m)+' м. '+form2(s)+' с.';
    } else {
      document.getElementById('clock'+ddv).innerHTML =  'Акция уже закончилась';
    }
  }
 
  var inittime = function (d,mon,y,h,m,s,str1,str2,dv) {
    var z=new Date();
    z.setFullYear(y,mon-1,d);
    z.setHours(h,m,s);
    Timeout=z.getTime();
    s1=str1; s2=str2;
    window.setInterval (showtime,1000);
    ddv=dv;
  }
 
  inittime.apply(this, arguments);
}
 
new timer (31,10,2013,0,0,0,'', 'От конца акции',"3");
new timer (31,10,2014,0,0,0,'', 'От конца акции',"2");
http://jsbin.com/EBaNEkU/1/edit
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.10.2013, 23:22
Помогаю со студенческими работами здесь

Использование нескольких таймеров
Допустим, один таймер отсчитал необходимое кол-во времени. Как перейти к использованию другого таймера, отсчитывающего время для другого...

Запуск нескольких таймеров в потоке
Всем Привет! подскажите как сделать запуск несколько таймеров в потоке? я пытался каждый новый таймер запустить в...

Сброс нескольких таймеров одним сигналом
Доброго всем времени суток! Изучаю таймеры, возникла следующий вопрос: Дино: Камень - stmf103, несколько таймеров, каждый из которых...

Ошибка выполнения программы при использовании нескольких таймеров
Здравствуйте, использую в программе несколько таймеров. Принцип работы следующий: есть несколько lineEdit куда вбиваются целые числа,...

Вставка div в определенной странице
Доброго времени суток! Проблема собственно говоря в чем, мне нужно вставить пару ссылок исключительно на одной странице. Стоит...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru