Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP/JS]Odliczanie...
Forum PHP.pl > Forum > Przedszkole
Predator446
Witam mam przykladowy kod ktory odlicza czas do konkretnej daty:

Kod
<script type="text/javascript">
<!--
var dodaty=new Date(2007,10,7,17,57,00);

document.write('<input type="text" id="formularz" size="45" value="" />');

var msSec = 1000;
var msMin = 60 * msSec;
var msGodz = 60 * msMin;
var msDniu = 24 * msGodz;
function odliczanie()
{
    var data=new Date();
    var roznica=dodaty.getTime()-data.getTime();
  
    var dni=Math.floor(roznica/msDniu);
    roznica-=dni*msDniu;
    var godzin=Math.floor(roznica/msGodz);
    roznica-=godzin*msGodz;
    var minut=Math.floor(roznica/msMin);
    roznica-=minut*msMin;
    var sekund=Math.floor(roznica/msSec);

    var wynik=(dni<0)?'Czas min±ł':'Pozostało dni '+dni+', godzin '+godzin+', minut '+minut+', sekund '+sekund;
    document.getElementById("formularz").value=wynik;

    setTimeout("odliczanie();",1000);
}
odliczanie();
//-->
</script>


I wszystko chodzi lecz czas pobierany jest z komputera użytkownika i gdy przestawi naprzyklad sobie czas na komputerze o kilka dni dalej to zmieni to odliczanie skryptu.

Jeśli znowu przerobilem że roznica czasu jest pobierana z serwera tzn. przez php:

  1. (<?php echo date(U); ?>*1000)


To skrypt dziala poprawnie lecz nie wyświetla na bieżąco na stronie aktualnego czasu. (nie odświeża tak jak przy czystym js).

Moje pytanie brzmi jak przerobić ten kod by pobieral czas z serwera i przy zmianie czasu na komputerze klienta wartość licznika czasu się nie zmienila i byl wyswietlany zawsze aktualny czas?
kossa
użyj ajax'a aby w tle połączył się z serwerem i porównał czas serwera z klientem

Łukasz
Predator446
Hmm z ajaxa nigdy nie korzystałem i nie mam pomysłu jak by on miał rozwiązać ten problem (jakaś rada? przykład?). Może jest jakiś inny sposób by rozwiązać ten problem bez ajaxa?
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.