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
Сообщений: 1358
Регистрация: 29.10.2009
Из: г.Москва
Поблагодарили: 338 раз
Репутация:   89  


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 августа что-то не получается...


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Куплю хороший доходный сайт (или два)
Бюджет 2 млн.руб.
4 Dani 1281 13.11.2017, 19:05
автор: Jolie
Открытая тема (нет новых ответов) Продам два конструктора лендингов
500 руб.
7 Palundra 2023 12.10.2017, 21:49
автор: PostBrigada
Открытая тема (нет новых ответов) Искусственный интеллект Google глупее первоклашки, но в два раза умнее Apple Siri
1 MissContent 515 5.10.2017, 12:44
автор: Bizon_seo
Открытая тема (нет новых ответов) DLE: вывод статистической странице
8 Bizota 1195 1.10.2017, 11:17
автор: Good_guys
Открытая тема (нет новых ответов) Услуги SEO: два отличных Комбо набора на выбор
0 richif 414 27.7.2017, 13:43
автор: richif


 



RSS Текстовая версия Сейчас: 13.12.2017, 17:28
Дизайн