Секундомер на javascript

R
На сайте с 29.08.2005
Offline
139
3156

Помогите составить небольшой скриптик на javascript.

Алгоритм работы скриптика такой.

С 1 июня 00 часов 00 минут 00 сек и до 31 августа 23 часа 59 минут 59 сек скрипт должен выдавать сообщение:

"До конца лета осталось: ХХ дней, ХХ часов, ХХ минут, ХХ секунд."

С 1 сентября 00 часов 00 минут 00 сек и до 31 мая 23 часа 59 минут 59 сек скрипт должен выдавать другое сообщение:

"До нового лета осталось: ХХ дней, ХХ часов, ХХ минут, ХХ секунд."

То есть, маленький бесконечный секундомер. Типа такого - http://migranov.ru/summer.php - но он не должен зависеть от текущего года. Год ему не нужен, просто мотается по кругу, без учета текущего года.

Desesperada
На сайте с 11.10.2010
Offline
77
#1

и пилим куда надо

<script language="JavaScript" type="text/javascript">
function fulltime () {
var time=new Date();
var newYear=new Date("aug,31,2012,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>
Создание/наполнение сайтов ICQ 7860919 Принимаю предзаказы на сателлиты/гс в индексе
C
На сайте с 04.02.2005
Offline
291
#2

var today = new Date();

var todayDate = today.getDate();

var todayMonth = today.getMonth();

var todayYear = today.getFullYear();

var todayValue = today.getTime();

//... часы секунды и минуты достаем

var newYear = todayYear +1;

var future = new Date(newYear, todayMonth, todayDate, ...hours, ...minutes, ...seconds, ....milliseconds);

var newValue = future.getTime();

var dif = newValue - todayValue;

а дальше - чистая арифметика dif - в милисекундах

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий