Odliczanie czasu

Wszystko związane ze skryptami JS, DHTML itd.
wellcome
Posty: 1
Rejestracja: 24 paź 2011, 10:02:28
Płeć: Niewybrana
User Agent: Firefox Windows 2560x1600

Odliczanie czasu

Post autor: wellcome »

Cześć, znalazłem w sieci taki kod na odliczanie czasu.

Kod: Zaznacz cały

<script type="text/javascript">

var secs = 0; //**** liczba sekund do odliczenia
var element = 'czas'; //**** atrybut "id" elementu wyświetlającego wynik
var T = null;
function count(id){
        temp = secs;

        if(secs > 0){

                //**** ten kawałek kodu "rozbija" sekundy na inne jednostki

                result = Math.floor(temp) + ' sekund';
                document.getElementById(element).innerHTML = result; //**** wypisanie stanu zegara

                secs--;
        }else{
                document.location=""
                clearInterval(T);
        }

}
function counter(seconds){

        secs = seconds;

        T = window.setInterval("count()", 1000);
        //count();
}

</script>
i w treści strony:

Kod: Zaznacz cały

<div id="czas"></div>
<?php include("");?>
Działa na zasadzie takiej, że jak wpisze mu się zadaną wartość np 60 sec. To zacznie odliczać owe 60 sec aż do przekierowania na wskazany adres. Działa w czasie rzeczywistym i to jest bardzo fajne.
Jaki jest mankament ? Otórz: nie odlicza od konkretnej daty (godziny, minuty). Jeśli w trakcie odliczania odświeży się stronę to znów startuje 60 sec. Tak samo po ponownym wejściu na stronę ze skryptem. Znowu zaczyna odliczać na nowo.
Mam sondę, i chciałbym, żeby po wpisaniu konkretnej daty (godz, min,) sonda została zablokowana i nie można było już głosować.
Szukam rozwiązania podobnego jak stosuje się na allegro, że odliczany jest czas od momentu wystawienia przedmiotu do sprzedaży aż do zadanego dnia, godziny, minuty. Potem aukcja (a w moim przypadku sonda) jest zamykana/ nieaktywna/czy blokowana.
Czy da się jakoś przerobić skrypt który wkleiłem ? Czy konieczne jest napisanie czegoś nowego ?

ps. Proszę mnie nie pytać dlaczego skrypt js wywoływany jest przez include php ale to działa.
LaY
Posty: 1120
Rejestracja: 28 sty 2009, 15:20:07
Lokalizacja: Silesia
Płeć: Mężczyzna
User Agent: Firefox MacOS
Kontakt:

Re: Odliczanie czasu

Post autor: LaY »

Takiego czegoś raczej nie robi się w JS. Prawdopodobnie napiszę parę błędów bo dawno nie miałem styczności z pehapcem.


http://www.php.net/manual/en/function.time.php

Cały problem polega na właściwym obliczeniu czasu od założenia sondy do jej zakończenia

Kod: Zaznacz cały

<?php
$czas=time()+3600*24*7;//Przyklad dla tygodniowej sondy
?>
Zmienną $czas zapisujemy w bazie danych lub pliku i przy każdym odświeźeniu strony odwołujemy się do niej obliczając ile czasu zostało do zakończenia sondy.

Kod: Zaznacz cały

<?php
if(time<$czas){ //jeśli obecny czas jest "mniejszy" nż czas zakończenia
//sonda jest wyświetlana
}
?>
Poszukaj na necie kodu na zamianę timestamp na datę jeśli chcesz wyświetlać userowi np. czas zakończenia sondy. Nie jestem pewien ale możliwe, że służyła do tego odpowiednia funkcja.

Oczywiście w JS pewnie można coś wymyślić ale po co iść pod górkę.
Niě nerwuj hanysa
gizik
Posty: 4
Rejestracja: 27 lis 2012, 17:13:25
Strona na CBA.pl: dieta-na-mase.in
Płeć: Niewybrana
User Agent: Chrome Windows

Re: Odliczanie czasu

Post autor: gizik »

Holercia panowie też tego szukam.... pomóżżżżżćieeee :P
ODPOWIEDZ