W nagłówku umieszczany następujący kod:
<script type="text/javascript" language="JavaScript">
<!--
var OutStr = "";
CurrDate = new Date();
var DaysInMonth = new Array(12);
DaysInMonth[0] = 31;
DaysInMonth[1] = 28;
DaysInMonth[2] = 31;
DaysInMonth[3] = 30;
DaysInMonth[4] = 31;
DaysInMonth[5] = 30;
DaysInMonth[6] = 31;
DaysInMonth[7] = 31;
DaysInMonth[8] = 30;
DaysInMonth[9] = 31;
DaysInMonth[10] = 30;
DaysInMonth[11] = 31;
if (CurrDate.getYear() == 2000) DaysInMonth[1] = 29;
function unBug(YearIn) {
if (YearIn < 1900) YearIn += 1900;
return YearIn;
}
function tick() {
CurrDate = new Date();
if ( CurrDate.getTime() < BigDate.getTime() )
{
if ( CountSecOnly ) tickSec(); else tickNorm();
TimerID = setTimeout("tick()", 975);
}
else OutStr = "Koniec świata już nastąpił";
document.forms[0].cntdwn_fld.value = OutStr;
}
function tickSec() {
var SecondsLeft=
Math.round((BigDate.getTime()-CurrDate.getTime())/1000);
SecondsLeft = "" + SecondsLeft;
SLL = SecondsLeft.length;
for (var i=8; i>SLL; i--)
{
SecondsLeft = "0" + SecondsLeft;
};
OutStr = "Do końca świata zostało " + SecondsLeft + " sekund.";
}
function tickNorm() {
var YearsLeft = RokPrzed - unBug(CurrDate.getYear());
var MonthsLeft = 11 - CurrDate.getMonth();
var DaysLeft = DaysInMonth[CurrDate.getMonth()]-CurrDate.getDate();
var HoursLeft = 23 - CurrDate.getHours();
var MinutesLeft = 59 - CurrDate.getMinutes();
var SecondsLeft = 59 - CurrDate.getSeconds();
OutStr = "";
OutStr += "lata: " + YearsLeft;
OutStr += " miesiące: " + MonthsLeft;
OutStr += " dni: " + DaysLeft;
OutStr += " godziny: " + pad(HoursLeft);
OutStr += " minuty: " + pad(MinutesLeft);
OutStr += " sekundy: " + pad(SecondsLeft);
}
function pad(toto) {
if (toto < 10) {toto = "0" + toto};
return toto;
}
function setMode() {
CountSecOnly = (document.forms[0].jaki_lst.selectedIndex == 0);
if (document.forms[0].data_lst.selectedIndex == 0) {
BigDate = new Date(2000,0,1,0,0,0);
RokPrzed = 1999;
} else {
BigDate = new Date(2001,0,1,0,0,0);
RokPrzed = 2000;
}
}
</script>
Teraz musimy umieścić na stronie okienko, w którym będzie wyświetlany czas. Oznacza to konieczność wklejenia takiego kodu HTML:
<form action="">
<input name="cntdwn_fld" type=text size=65><BR>
Koniec świata nastąpi:
<SELECT NAME="data_lst" onchange="setMode()">
<option value="y2k" selected>1.1.2000</option>
<option value="c20">1.1.2001</option>
</SELECT><BR>
Czas pokazuj
<SELECT NAME="jaki_lst" onchange="setMode()">
<option value="sec" selected>w sekundach</option>
<option value="full">w długiej formie</option>
</SELECT>
</form>
Domyślne ustawienia możesz zmienić wstawiając atrybut selected w odpowiednim polu formularza.
Jeśli na stronie znajdują się jeszcze inne formularze, konieczna może być modyfikacja kodu skryptu: możliwe, że trzeba będzie dostosować indeks formularza w wyrażeniu document.forms[0] . Dlatego nie stosuj takiego rozwiązania, jeśli nie masz wystarczającego doświadczenia z JS i HTML, aby to zrobić.
Następnie uruchamiamy skrypt. Aby odbywało się to automatycznie, przy załadowaniu strony, modyfikujemy tak znacznik <body> :
onLoad="setMode(); tick()"
Jeśli znasz JS i HTML zapewne nie będzie dla Ciebie problemem zmodyfikowanie tego skryptu tak, aby pasował on do Twoich potrzeb.
[ Powrót na górę ]
|