Я нашла вот такой вариант:
Скрытый текст. Необходимо зарегистрироваться.
И чуть-чуть его исправила.
Нет, дело вовсе не в том, что я подставила другую дату и вместо "Ну вот и все" написала "С Новым годом".
Помимо этого в скрипт были сделаны дописки, которые научили его правильно сочетать числительные с существительными. То есть в моем варианте скрипт, отсчитывая время, не пишет по-русски с ошибками:
"До события осталось 12 день 13 минуты 11 секунда".
Он пишет "До события осталось 12 дней 13 минут 11 секунд"...
1. Открываем блокнот из стандартных программ. Выбираем кодировку своего форума (обычно это utf-8).
Копируем в блокнот код:
- Код: Выделить всё
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<=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" && dsec!="11") { dsecstr = "секунда"; }
if ((lastchar=="2"&& dsec!="12")||(lastchar=="3"&& dsec!="13")||(lastchar=="4"&& dsec!="14")) { dsecstr = "секунды"; }
lastchar = ""+dmin; lastchar = lastchar.substring(lastchar.length-1,lastchar.length);
var dminstr = "минут";
if (lastchar=="1" && dmin!="11") { dminstr = "минута"; }
if ((lastchar=="2" && dmin!="12")||(lastchar=="3" && dmin!="13")||(lastchar=="4" && dmin!="14")) { dminstr = "минуты"; }
lastchar = ""+dhour; lastchar = lastchar.substring(lastchar.length-1,lastchar.length);
var dhourstr = "часов";
if (lastchar=="1" && dhourstr!="11") { dhourstr = "час"; }
if ((lastchar=="2" && dhourstr!="12")||(lastchar=="3" && dhourstr!="13")||(lastchar=="4" && dhourstr!="14")) { dhourstr = "часа"; }
lastchar = ""+dday; lastchar = lastchar.substring(lastchar.length-1,lastchar.length);
var ddaystr = "дней"
if (lastchar=="1" && ddaystr!="11") { ddaystr = "день"; }
if ((lastchar=="2" && ddaystr!="12")||(lastchar=="3" && ddaystr!="13")||(lastchar=="4" && ddaystr!="14")) { ddaystr = "дня"; }
countdownid.innerHTML="До нового года осталось: " +dday+ " " +ddaystr+", "+dhour+" "+dhourstr+", "+dmin+" "+dminstr+" и " +dsec+" "+dsecstr;
}
setTimeout("CountDowndmn(cdyear,cdmonth,cdday)",1000);
}
CountDowndmn(2012,01,01);
2. Сохраняем как файл javascript под именем countdown.
3. Заливаем файл на форум через менеджер картинок, копируем ссылку на залитый js-файл.
4. Открываем шаблон, в котором будет находиться надпись с обратным отсчетом.
(Например, overall_header).
5. Находим в шаблоне место, где будет находиться надпись с обратным отсчетом.
В это место вставляем код:
- Код: Выделить всё
<div id="countdown"></div>
<script src="ссылка на залитый js-файл" type="text/javascript"></script>
6. Стиль надписи задаем по своему усмотрению.