Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej OK, rozumiem

skrypt odliczania czasu

Tworzenie dynamicznych stron internetowych z zastosowaniem JavaScript, jQuery, Ajax. Dowiedz się jak to zrobić, znajdź rozwiązania swoich problemów.

skrypt odliczania czasu

Post 18.04.2017, 17:49:38

Jakiś czas temu (kilka lat) przy pomocy poradników zrobiłem skrypcik, odliczający czas.
Po tym czasie, po długiej przerwie w programowaniu, chciałem ponownie wykorzystać ten skrypt, jednak część plików utraciłem, został mi jedynie plik js.
I teraz mam do Was pytanie, a zarazem prośbę.
Czy ten skrypt jest prawidłowy, oraz jak wywołać tę funkcję z pliku PHP?
timer - czas podany w sekundach do odliczenia czasu
id - id do wyświetlenia
W php oczywiście mam wczytany plik z js, oraz <span id="id">
a teraz sam skrypt:
Kod: Zaznacz cały
function TimeToCountdown(timer, id)
{
   var time = timer;
   var hour;
   var minute;
   var secound;

   if(timer >= 0)
   {
      hour = Math.floor(time / 3600);
      time -= hour * 3600;
      if(hour < 10){
         hour = '0' + hour;
      }
      minute = Math.floor(time / 60);
      time -= minute * 60;
      if(minute < 10) {
         minute = '0' + minute;
      }
      secound = time;
      if(secound < 10) {
         secound  = '0' + secound;
      }
      document.getElementById(id).innerHTML = hour + ':' + minute + ':' + secound;
      timer --;
      setTimeout("TimeToCountdown('" + timer + "', '" + id + "')", 1000);
      
   }
   if(timer <= 0) {
      document.getElementById(id).innerHTML = '00:00:00';
      window.location.reload();
   }
}
spillac
Posty: 5
Dołączył(a): 18.04.2017

Re: skrypt odliczania czasu

Post 20.04.2017, 16:02:29

Naprawdę skrypt jest tak beznadziejny?
spillac
Posty: 5
Dołączył(a): 18.04.2017

Re: skrypt odliczania czasu

Post 20.04.2017, 18:24:52

Skrypt jest OK, najbardziej zmieniłbym tylko linię

Kod: Zaznacz cały
setTimeout("TimeToCountdown('" + timer + "', '" + id + "')", 1000);

na
Kod: Zaznacz cały
setTimeout(function () {
    TimeToCountdown(timer, id);
}, 1000);


A uruchomić skrypt możesz w ten sposób, że pod <span id="id"></span>
wstawiasz
Kod: Zaznacz cały
<script>
TimeToCountdown(100, "id");
</script>
Avatar użytkownikakuku
Rafał Kukawski

+∞
+∞

Posty: 19409
Dołączył(a): 14.04.2002

Re: skrypt odliczania czasu

Post 20.04.2017, 20:29:28

Dzięki wielkie. O to mi chodziło.
spillac
Posty: 5
Dołączył(a): 18.04.2017

Re: skrypt odliczania czasu

Post 22.04.2017, 12:59:31

Jeszcze zapytam, ponieważ na kilku podstronach, licznik będzie wyświetlany 2x.
Zmodyfikowałem nieco kod, dodałem linijkę document.getElementById(id) z innym ID.
I wszystko ładnie, tam gdzie licznik jest wyświetlany 2x, jest dobrze, ale gdy na stronie jest tylko raz, licznik stoi w miejscu.
spillac
Posty: 5
Dołączył(a): 18.04.2017

Re: skrypt odliczania czasu

Post 22.04.2017, 14:57:00

Podaj link do strony, gdzie widać problem, ponieważ nie widzę powodu, żeby ten skrypt miał nie działać jako jedna lub więcej "kopii".
Avatar użytkownikakuku
Rafał Kukawski

+∞
+∞

Posty: 19409
Dołączył(a): 14.04.2002

Re: skrypt odliczania czasu

Post 22.04.2017, 22:13:06

spillac
Posty: 5
Dołączył(a): 18.04.2017


Powrót do JavaScript


 


  • Podobne wątki
    Odpowiedzi
    Wyświetlone
    Ostatni post

Kto przegląda forum

Użytkownicy przeglądający ten dział: Mackie i 6 gości

Hosting, Domeny, SSL
iCash

Subskrypcja

Mamy 49632 zarejestrowanych użytkowników.
Najnowszy użytkownik: KashaCzq


Nasi użytkownicy napisali:

  • 933822 wiadomości
  • w 245890 tematach

Najnowsze wpisy na blogu

Najnowsze artykuły

Najaktywniejsi (ostatnie 30 dni)