Показать сообщение отдельно
  #1 (permalink)  
Старый 26.04.2014, 12:03
Новичок на форуме
Отправить личное сообщение для rustik-yes Посмотреть профиль Найти все сообщения от rustik-yes
 
Регистрация: 25.03.2013
Сообщений: 6

Шуточный скрипт "До начала каникул осталось..."
Доброго дня.

Есть такой шуточный скрипт-счетчик "До начала каникул осталось:.........".
Вот как он выглядит в реале - http://rybens.ru/script.html

<SCRIPT language="JavaScript" type="text/javascript"> 
function fulltime ()   { 
var time=new Date(); 
var newYear=new Date("may,25,2014,23:59:59"); 
var totalRemains=(newYear.getTime()-time.getTime()); 
if (totalRemains>1){ 
var RemainsSec = (parseInt(totalRemains/1000));//сколько всего осталось секунд 
var RemainsFullDays=(parseInt(RemainsSec/(24*60*60)));//осталось дней 
var secInLastDay=RemainsSec-RemainsFullDays*24*3600; //осталось секунд в неполном дне  
var RemainsFullHours=(parseInt(secInLastDay/3600));//осталось часов в неполном дне  
if (RemainsFullHours<10){RemainsFullHours="0"+RemainsFullHours}; 
var secInLastHour=secInLastDay-RemainsFullHours*3600;//осталось секунд в неполном часе 
var RemainsMinutes=(parseInt(secInLastHour/60));//осталось минут в неполном часе 
if (RemainsMinutes<10){RemainsMinutes="0"+RemainsMinutes}; 
var lastSec=secInLastHour-RemainsMinutes*60;//осталось секунд 
if (lastSec<10){lastSec="0"+lastSec}; 
document.getElementById("RemainsFullDays").innerHTML=RemainsFullDays; 
document.getElementById("RemainsFullHours").innerHTML=RemainsFullHours; 
document.getElementById("RemainsMinutes").innerHTML=RemainsMinutes; 
document.getElementById("lastSec").innerHTML=lastSec; 
setTimeout('fulltime()',10)  
} 
else{ 
document.getElementById("clock").innerHTML=" ";
} 
} 
</SCRIPT>
<script language="JavaScript">
document.write ('<span id="clock">До начала каникул осталось: <font style="background-color: #c3cddc; color: #4f5865;">&nbsp;<b><span id="RemainsFullDays"></span></b>&nbsp;</font> дней, <font style="background-color: #c3cddc; color: #4f5865;">&nbsp;<b><span id="RemainsFullHours"></span></b>&nbsp;</font> часов, <font style="background-color: #c3cddc; color: #4f5865;">&nbsp;<b><span id="RemainsMinutes"></span></b>&nbsp;</font> минут, <font style="background-color: #c3cddc; color: #4f5865;">&nbsp;<b><span id="lastSec"></span></b>&nbsp;</font> секунд! </span> ');
fulltime();
</script>


Этот скрипт ведет обратный отсчет времени до какой-то даты, в нашем случае до 25 мая.

Когда наступает 25 мая 23 часа 59 мин 59 сек, то этот счетчик просто исчезает, все изчезает.

Мне нужно немного переделать его - чтобы при достижении указанной даты счетчик не изчезал, а немного менялся, типа так:

"До конца каникул осталось: 92 дня, 23 часа, 18 мин, 34 сек".

Этот счет идет до 1 сентября (любого года), а 1 сентября в 00 часов 00 мин 00 сек, он должен опять перейти на первоначальный счет "До начала каникул осталось: ....... "

Т.е. в итоге должен получиться циклический счетчик, не зависящий от года.
В период с 1 сентября 00:00:00 сек до 25 мая 23:59:59 сек счетчик должен выдавать надпись: "До начала каникул осталось: ## дней ## часов ## мин ## сек".
В период с 26 мая 00:00:00 сек до 31 августа 23:59:59 сек счетчик должен выдавать надпись: "До конца каникул осталось: ## дней ## часов ## мин ## сек".

Чтобы один раз залив такой скриптик на сайт, я уже не думал о нем. А сейчас я должен каждый раз ловить нужную дату и вручную менять цифры в скрипте.

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