Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] Odliczanie czasu
Forum PHP.pl > Forum > Przedszkole
Puzi
Witam, znalazłem taki skrypt java który odlicza czas który pozostał do jakieś daty. I oto on:
Kod
         <script language="JavaScript">
         <!--
         var czas = new Date('.$rok.','.$miesiac.','.$dzien.','.$godzina.','.$minuty.',00);
         var dzis = new Date();
         var licz = czas.getTime() - dzis.getTime();
         var dni = Math.floor(licz / (1000 * 60 * 60 * 24));
         var godz = Math.floor(((licz / (1000 * 60 * 60 * 24)) - dni)* 24);
         var min = Math.floor(((((licz / (1000 * 60 * 60 * 24)) - dni)* 24) - godz )*60 );
         if ( dni > 1)
         document.write("Do meczu pozostało: " + dni + " dni, " + godz + " godz. i " + min + " min.")
         else if ( dni > 0)
         document.write("Do meczu pozostał: " + dni + " dzień, " + godz + " godz. i " + min + " min.")
         else if ( dni == 0 && godz >1 )
         document.write("Mecz za: " + godz + " godz. i " + min + " min.")
         else if ( dni == 0 && godz < 1 )
         document.write("Już za " + min + " min. będzie mecz!")
         else
         document.write("Po meczu...");
         // -->
         </script>


I chcę aby po skończeniu odliczania przez 1 godzinę i 45 minut pokazywało mi napis "Mecz trwa". Tylko że ja kompletnie nie znam jezyka java i nie wiem jak trzeba sformuować warunek.

Proszę o pomoc.
vtuner
Kod
<script language="JavaScript">
         <!--
         var czas = new Date('.$rok.','.$miesiac.','.$dzien.','.$godzina.','.$minuty.',00);
         var dzis = new Date();
         var licz = czas.getTime() - dzis.getTime();
         var dni = Math.floor(licz / (1000 * 60 * 60 * 24));
         var godz = Math.floor(((licz / (1000 * 60 * 60 * 24)) - dni)* 24);
         var min = Math.floor(((((licz / (1000 * 60 * 60 * 24)) - dni)* 24) - godz )*60 );
         if ( dni > 1)
         document.write("Do meczu pozostało: " + dni + " dni, " + godz + " godz. i " + min + " min.")
         else if ( dni > 0)
         document.write("Do meczu pozostał: " + dni + " dzień, " + godz + " godz. i " + min + " min.")
         else if ( dni == 0 && godz >1 )
         document.write("Mecz za: " + godz + " godz. i " + min + " min.")
         else if ( dni == 0 && godz < 1 )
         document.write("Już za " + min + " min. będzie mecz!")
         else if ( dni == 0 && godz < (-1) && min < (-45) )
          document.write("Mecz trwa...")
         else
         document.write("Po meczu...");
         // -->
         </script>


Powinno zadziałać.
Puzi
Niestety to nie działa... Wyświetla się napis "Po meczu..."


Problem rozwiązałem. biggrin.gif biggrin.gif
Sadu2
Witam,
Odświerze troche temat. Chciałbym wykorzystać skrypt podany wyżej oraz ten poniżej:

Kod
<script type="text/javascript">
function CD(d,o,t,x){return[x=~~(t=(d-o)/864e5),x=~~(t=(t-x)*24), x=~~(t=(t-x)*60),~~((t-x)*60)]}
function R(t){
t=CD(new Date(2012,6,9,16,00,00),new Date());
document.getElementById('odliczanie').innerHTML=+t[0]+" dni, "+t[1]+" h, "+t[2]+" m, "+t[3]+"s";
if(!t[0]&&!t[1]&&!t[2]&&!t[3])document.getElementById('odliczanie').innerHTML='Koniec odliczania';
else setTimeout('R()',1e3);
}
onload=function(){R();}

</script>


Chciałbym dodać do tego skryptu o to:

Kod
         if ( dni > 1)
         document.write("Do meczu pozostało: " + dni + " dni, " + godz + " godz. i " + min + " min.")
         else if ( dni > 0)
         document.write("Do meczu pozostał: " + dni + " dzień, " + godz + " godz. i " + min + " min.")
         else if ( dni == 0 && godz >1 )
         document.write("Mecz za: " + godz + " godz. i " + min + " min.")
         else if ( dni == 0 && godz < 1 )
         document.write("Już za " + min + " min. będzie mecz!")
         else if ( dni == 0 && godz < (-1) && min < (-45) )
          document.write("Mecz trwa...")
         else
         document.write("Po meczu...");


Czy moglibyście mi pomóc?

Napisałem coś takiego:

Kod
<script type="text/javascript">
function CD(d,o,t,x){return[x=~~(t=(d-o)/864e5),x=~~(t=(t-x)*24), x=~~(t=(t-x)*60),~~((t-x)*60)]}
function R(t){
t=CD(new Date(2008,3,2,18,50,00),new Date());
<!-- pozostało dni -->
if(t[0]>1)document.getElementById('odliczanie').innerHTML='Do meczu pozostało:<br/>' +t[0]+" dni, "+t[1]+" h, "+t[2]+" m, "+t[3]+"s";
<!-- pozostał dzien -->
else if(t[0]>0)document.getElementById('odliczanie').innerHTML='Do meczu pozostał:<br/>' +t[0]+" dzień, "+t[1]+" godz. i "+t[2]+" min. "+t[3]+"s";
<!-- pozostało minut -->
else if(t[0] == 0 && t[1] < 1)document.getElementById('odliczanie').innerHTML='Mecz odbędzie się za: <br/>'+t[2]+" min. "+t[3]+"s";
else if(t[0] == 0 && t[1] < (-1) && t[2] <(-45))document.getElementById('odliczanie').innerHTML='Mecz trwa...';
else setInterval('R()',1000);
}
onload=function(){R();}
</script>


Dobrze pokazuje na stronie, jednak czasu stoi w miejscu, należy odświeżyć aby był nowy czas. Jak to zmienić?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.