Mam skrypt odliczania:
Kod
<html><head>
<script type="text/javascript">
var IdNo = 0;
function time (hours,mins,secs,span) {
this.id = "time" + IdNo++;
window[this.id] = this;
this.hours = hours;
this.mins = mins;
this.secs = secs;
this.span = span;
this.show = show;
}
function show() {
var dateobj=new Date()
var meta = new Date(2009,10,19,this.hours,this.mins,this.secs);
var jeden_dzien = 24 * 60 * 60 * 1000;
var jedna_godz = 60 * 60 * 1000;
var jedna_min = 60 * 1000;
var stoper = (meta.getTime() - dateobj.getTime());
var ilosc_dni = stoper / jeden_dzien;
var dni = Math.floor(ilosc_dni);
var ilosc_godz = (ilosc_dni -dni)*24;
var godz2 = Math.floor(ilosc_godz);
var ilosc_min = (ilosc_godz -godz2)*60;
var min2 = Math.floor(ilosc_min);
var ilosc_sek = (ilosc_min - min2)*60;
var sek2 = Math.floor(ilosc_sek);
document.getElementById( this.span ).innerHTML = "Time left: " +
(( godz2 < 10 ) ? ( "0" + godz2 ) : godz2) + ":" +
(( min2 < 10 ) ? ( "0" + min2 ) : min2) + ":" +
(( sek2 < 10 ) ? ( "0" + sek2 ) : sek2);
setTimeout("window."+this.id+".show()",1000);
}
function load() {
var timer1 = new time(09,18,00,"tm1");
timer1.show();
}
</script>
</head>
<body onload="load()">
<span id="tm1"></span><br /><br />
</body>
</html>
<script type="text/javascript">
var IdNo = 0;
function time (hours,mins,secs,span) {
this.id = "time" + IdNo++;
window[this.id] = this;
this.hours = hours;
this.mins = mins;
this.secs = secs;
this.span = span;
this.show = show;
}
function show() {
var dateobj=new Date()
var meta = new Date(2009,10,19,this.hours,this.mins,this.secs);
var jeden_dzien = 24 * 60 * 60 * 1000;
var jedna_godz = 60 * 60 * 1000;
var jedna_min = 60 * 1000;
var stoper = (meta.getTime() - dateobj.getTime());
var ilosc_dni = stoper / jeden_dzien;
var dni = Math.floor(ilosc_dni);
var ilosc_godz = (ilosc_dni -dni)*24;
var godz2 = Math.floor(ilosc_godz);
var ilosc_min = (ilosc_godz -godz2)*60;
var min2 = Math.floor(ilosc_min);
var ilosc_sek = (ilosc_min - min2)*60;
var sek2 = Math.floor(ilosc_sek);
document.getElementById( this.span ).innerHTML = "Time left: " +
(( godz2 < 10 ) ? ( "0" + godz2 ) : godz2) + ":" +
(( min2 < 10 ) ? ( "0" + min2 ) : min2) + ":" +
(( sek2 < 10 ) ? ( "0" + sek2 ) : sek2);
setTimeout("window."+this.id+".show()",1000);
}
function load() {
var timer1 = new time(09,18,00,"tm1");
timer1.show();
}
</script>
</head>
<body onload="load()">
<span id="tm1"></span><br /><br />
</body>
</html>
I fajnie działa, ale nie wiem, jak zrobić, żeby zmieniał potem dane funkcji (robiłem sprawdzenie, jeśli godz i min i sek są równe zero, to załaduj na nowo:
Kod
if(sek2==0 && min2==0 && godz2==0){
var timer1 = new time(09,19,00,"tm1");
timer1.show();
}
var timer1 = new time(09,19,00,"tm1");
timer1.show();
}
Ale pokazuje tylko na chwile z tymi danymi i znowu leci ze starymi-jakieś pomysły??