X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Два таймера JS на одной странице
vadimon
vadimon
Topic Starter сообщение 22.7.2013, 13:21; Ответить: vadimon
Сообщение #1


Бывалый
****

Группа: User
Сообщений: 386
Регистрация: 20.5.2009
Из: Россия
Поблагодарили: 44 раза
Репутация:   8  


Здравствуйте. Переделывал под себя скрипт обратного отсчета времени, сделал то, что знал, дальше проблема - два скрипта с таймером не работают на одной странице. Идентификаторы и фнкции разные задавал, изменял названия файла - не помогает. Задавал другой идентификатор для другого таймера countdown-2, все равно не работает. Вот код:

<div align="center" id="countdown"></div>
<script src="js/countdown.js" type="text/javascript" language="javascript"></script>


var eventstr = "Распродажа закончилась!";
var countdownid = document.getElementById("countdown");

var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");

function CountDowndmn(yr,m,d){
    cdyear=yr;
    cdmonth=m;
    cdday=d;
    var today=new Date();
    var todayy=today.getYear();
    if (todayy < 1000)
    todayy+=1900;
    var todaym=today.getMonth();
    var todayd=today.getDate();
    var todayh=today.getHours();
    var todaymin=today.getMinutes();
    var todaysec=today.getSeconds();
    var todaystring=montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec;
    futurestring=montharray[m-1]+" "+d+", "+yr
    dd=Date.parse(futurestring)-Date.parse(todaystring);
    dday=Math.floor(dd/(60*60*1000*24)*1);
    dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1);
    dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1);
    dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1);
    if (dday < 10) dday = "0" + dday;
    if (dhour < 10) dhour = "0" + dhour;
    if (dmin < 10) dmin = "0" + dmin;
    if (dsec < 10) dsec = "0" + dsec;
    if(dday<=0&&dhour<=0&&dmin<=0&&dsec<=1){
    countdownid.innerHTML=eventstr;
return
}
else {
    var lastchar = ""+dsec;    lastchar = lastchar.substring(lastchar.length-1,lastchar.length);
    var dsecstr = "";
    if (lastchar=="1") { dsecstr = ""; }
    if ((lastchar=="2")||(lastchar=="3")||(lastchar=="4")) { dsecstr = ""; }
    
    lastchar = ""+dmin;    lastchar = lastchar.substring(lastchar.length-1,lastchar.length);
    var dminstr    = "";
    if (lastchar=="1") { dminstr = ""; }
    if ((lastchar=="2")||(lastchar=="3")||(lastchar=="4")) { dminstr = ""; }

    lastchar = ""+dhour;    lastchar = lastchar.substring(lastchar.length-1,lastchar.length);
    var dhourstr   = "";
    if (lastchar=="1") { dhourstr = ""; }
    if ((lastchar=="2")||(lastchar=="3")||(lastchar=="4")) { dhourstr = ""; }

    lastchar = ""+dday;    lastchar = lastchar.substring(lastchar.length-1,lastchar.length);
    var ddaystr = "";
    if (lastchar=="1") { ddaystr = ""; }
    if ((lastchar=="2")||(lastchar=="3")||(lastchar=="4")) { ddaystr = ""; }

    countdownid.innerHTML="0000&middot;"+dday+ "" +ddaystr+"&middot;"+dhour+""+dhourstr+"&middot;"+dmin+""+dminstr+"&middot;"+dsec+" "+dsecstr;
}
setTimeout("CountDowndmn(cdyear,cdmonth,cdday)",1000);
}

CountDowndmn(2013,7,29);


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Solonik
Solonik
сообщение 22.7.2013, 13:49; Ответить: Solonik
Сообщение #2


Старожил
******

Группа: Active User
Сообщений: 1360
Регистрация: 29.10.2009
Из: г.Москва
Поблагодарили: 339 раз
Репутация:   90  


vadimon, Вы на Javascript.ru писали я вижу такой же вопрос ?
Я не совсем понял задание на самом деле просто 2 таймера вывести ?

Как Вы пишете создавали countdown2 я пробовал всё работает... Можно конечно лучший вариант сделать, просто не совсем понял задание попробуйте скопируйте себе и посмотрите в браузере это требовалось хотя бы ?
<div align="center" id="countdown"></div>
<div align="center" id="countdown2"></div>
<script>
var eventstr = "Распродажа закончилась!";
var countdownid = document.getElementById("countdown");
var countdownid2 = document.getElementById("countdown2");

var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");

function CountDowndmn(yr,m,d){
    cdyear=yr;
    cdmonth=m;
    cdday=d;
    var today=new Date();
    var todayy=today.getYear();
    if (todayy < 1000)
    todayy+=1900;
    var todaym=today.getMonth();
    var todayd=today.getDate();
    var todayh=today.getHours();
    var todaymin=today.getMinutes();
    var todaysec=today.getSeconds();
    var todaystring=montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec;
    futurestring=montharray[m-1]+" "+d+", "+yr
    dd=Date.parse(futurestring)-Date.parse(todaystring);
    dday=Math.floor(dd/(60*60*1000*24)*1);
    dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1);
    dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1);
    dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1);
    if (dday < 10) dday = "0" + dday;
    if (dhour < 10) dhour = "0" + dhour;
    if (dmin < 10) dmin = "0" + dmin;
    if (dsec < 10) dsec = "0" + dsec;
    if(dday<=0&&dhour<=0&&dmin<=0&&dsec<=1){
    countdownid.innerHTML=eventstr;
    countdownid2.innerHTML=eventstr;
return
}
else {
    var lastchar = ""+dsec;    lastchar = lastchar.substring(lastchar.length-1,lastchar.length);
    var dsecstr = "";
    if (lastchar=="1") { dsecstr = ""; }
    if ((lastchar=="2")||(lastchar=="3")||(lastchar=="4")) { dsecstr = ""; }
    
    lastchar = ""+dmin;    lastchar = lastchar.substring(lastchar.length-1,lastchar.length);
    var dminstr    = "";
    if (lastchar=="1") { dminstr = ""; }
    if ((lastchar=="2")||(lastchar=="3")||(lastchar=="4")) { dminstr = ""; }

    lastchar = ""+dhour;    lastchar = lastchar.substring(lastchar.length-1,lastchar.length);
    var dhourstr   = "";
    if (lastchar=="1") { dhourstr = ""; }
    if ((lastchar=="2")||(lastchar=="3")||(lastchar=="4")) { dhourstr = ""; }

    lastchar = ""+dday;    lastchar = lastchar.substring(lastchar.length-1,lastchar.length);
    var ddaystr = "";
    if (lastchar=="1") { ddaystr = ""; }
    if ((lastchar=="2")||(lastchar=="3")||(lastchar=="4")) { ddaystr = ""; }
    countdownid2.innerHTML="0000·"+dday+ "" +ddaystr+"·"+dhour+""+dhourstr+"·"+dmin+""+dminstr+"·"+dsec+" "+dsecstr;
    countdownid.innerHTML="0000·"+dday+ "" +ddaystr+"·"+dhour+""+dhourstr+"·"+dmin+""+dminstr+"·"+dsec+" "+dsecstr;
}
setTimeout("CountDowndmn(cdyear,cdmonth,cdday)",1000);
}

CountDowndmn(2013,7,23);
CountDowndmn(2013,7,25);
</script>


Сообщение отредактировал Solonik - 22.7.2013, 13:51


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
vadimon
vadimon
Topic Starter сообщение 5.8.2013, 8:35; Ответить: vadimon
Сообщение #3


Бывалый
****

Группа: User
Сообщений: 386
Регистрация: 20.5.2009
Из: Россия
Поблагодарили: 44 раза
Репутация:   8  


Да, вроде нормально работает. В принципе, делал тоже самое, не знаю почему у меня не захотел работать...
Сейчас пытаюсь доработать скрипт, но ничего не получается: таймер считает до 23:59:59 заданного дня, т.е считает все часы в заданном дне. А вот доработать скрипт, чтобы он считал, например до указанного часа дня, например до 18:00 10 августа что-то не получается...

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Два браузера по-умолчанию
3 SOROKVLAD29 586 Вчера, 17:19
автор: SOROKVLAD29
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыXMLTrust - Покупаем ваши лимиты XML за два клика
32 ig0r 18502 26.3.2018, 17:31
автор: kemelqwerty
Открытая тема (нет новых ответов) В продаже два строительных сайта
Сайт проходит модерацию в ГГЛ
16 brucekiev 2460 25.3.2018, 13:11
автор: mnet
Открытая тема (нет новых ответов) Несколько шаблонов в рамках одной темы WP.
3 SOROKVLAD29 709 17.3.2018, 17:11
автор: SOROKVLAD29
Открытая тема (нет новых ответов) Увеличение трафика на 40% в два клика!
Модуль - переводчик
9 Triavel 1551 4.3.2018, 15:28
автор: Triavel


 



RSS Текстовая версия Сейчас: 25.5.2018, 14:45
Дизайн