Показать сообщение отдельно
  #1 (permalink)  
Старый 02.04.2013, 10:40
Новичок на форуме
Отправить личное сообщение для tassman Посмотреть профиль Найти все сообщения от tassman
 
Регистрация: 02.04.2013
Сообщений: 7

Помогите новичку с NaN
Очень расчитываю на вас о умы JS!
Сделал банер в виде часов! Выводит в формате "дней:часов:минут:секунд" - сколько осталось до события!
В FireFox 18/0/1 версии отображает всё хорошо, а вот в др. браузерах пишет: "NaN:NaN:NaN:NaN"
Подскажите пожалуйста!!!
П.С. (Строка вывода: dday+":"+dhour+":"+dmin+":"+dsec) она же преобразует переменные в строковый тип, а в итоге NaN. Непонятно...

Код js:
function countdown(yr,m,d,ho,mi,se){
	theyear=yr;themonth=m;theday=d;theh=ho;them=mi;thes=se;
	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+" "+ho+":"+mi+":"+se;
	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==0&&dhour==0&&dmin==0&&dsec==1){
		$('#time').text('Консультация началась!');
		return
	} else {
		if(dday < 10) dday = "0"+dday;
		if(dhour < 10) dhour = "0"+dhour;
		if(dmin < 10) dmin = "0"+dmin;
		if(dsec < 10) dsec = "0"+dsec;
		$('#time').text(dday+":"+dhour+":"+dmin+":"+dsec);
	}
	setTimeout("countdown(theyear,themonth,theday,theh,them,thes)",1000);
}
Ответить с цитированием