Dołącz do zespołu ekspertów! Backend lub Frontend Developer?

Sprawdź najnowsze oferty pracy naszego partnera - 8lines.io!

Prawidłowe odliczanie licznika JS

JS  Założony przez  Nexus..

Witam.
Posiadam pewien licznik który odlicza czas do danego wydarzenia.
Chodzi o to, że ustawiam sobie czas w sekundach, i gdy wejdziemy na stronę, ten czas sobie leci, lecz gdy odświeżymy ją, czas ten się resetuje, i odlicza od domyślnych wartości.

Jak zrobić, by czas ten wyświetlał się poprawnie, czyli. odświeżając stronę czas dalej kontynuuje odliczanie, a nie cofa się do domyślnych wartości.

Tutaj demo:
http://digitalnexus.tk/test/

Proszę o pomoc,
Pozdrawiam.
http://videokurs.pl/artykuly/javascript/...rzenia.php
JS się nie zajmowałem nigdy, ogółem mam już przygotowane skrypty, tylko chodzi mi żeby ten licznik nie resetował czasu, ogółem odłączył się od interakcji z użytkownikiem, i pracował sobie w tle...
Do tego przypadkiem coś więcej nie będzie potrzebne?
Proponuję zwrócić się do autora skryptu.
Jeśli Ci pomogłem naciśnij guzik POMÓGŁ lub dodaj PUNKT REPUTACJI
Po prostu źle używasz licznika. Twój kod:
<script type="text/javascript">
    $('.countdown').final_countdown({
            'start': 1362139200,
            'end': 1388461320,
            'now': 1387461319
    });
</script>

Skoro masz stały czas 'now', to będzie startować zawsze od niego. Musisz użyć funkcji JS ustawiającej aktualny czas:
Math.round(+new Date()/1000)
zamiast liczby.

Poza tym, data końcówa 'end' już dawno minęła: 12 / 31 / 13 @ 3:42:00am UTC http://www.unixtimestamp.com/index.php
jednym z podejść jest zapisanie bieżącej wartości licznika w pamięci podręcznej przeglądarki, takiej jak localStorage, a następnie odczytanie tej wartości przy kolejnym załadowaniu strony i kontynuowanie odliczania od tego punktu. Istnieje wiele przykładów i bibliotek dostępnych online, które mogą pomóc w implementacji takiego rozwiązania
Odkryj najlepsze programy magazynowe i porównaj je na naszej stronie! Sprawdź ranking i wybierz idealne rozwiązanie dla Twojej firmy.
Problem, który opisujesz, jest typowy dla liczników JavaScript opartych na stronie klienta. Ponieważ odświeżenie strony resetuje stan JavaScript, licznik również się resetuje.

Istnieje kilka sposobów rozwiązania tego problemu:

1. Użyj localStorage:

Zapisz czas rozpoczęcia odliczania w localStorage, gdy użytkownik wejdzie na stronę.
Odświeżając stronę, odczytaj czas rozpoczęcia z localStorage i oblicz pozostały czas.
2. Użyj cookie:

Zapisz czas rozpoczęcia odliczania w cookie, gdy użytkownik wejdzie na stronę.
Odświeżając stronę, odczytaj czas rozpoczęcia z cookie i oblicz pozostały czas.
3. Użyj serwera:

Zapisz czas rozpoczęcia odliczania na serwerze, gdy użytkownik wejdzie na stronę.
Odświeżając stronę, pobierz pozostały czas z serwera.
Przykład użycia ChatGPT:

Możesz użyć ChatGPT, aby wygenerować kod JavaScript dla dowolnego z tych rozwiązań. Na przykład możesz poprosić ChatGPT o:

Napisanie funkcji JavaScript, która zapisuje czas rozpoczęcia odliczania w localStorage.
Napisanie funkcji JavaScript, która odczytuje czas rozpoczęcia z localStorage i oblicza pozostały czas.
Napisanie skryptu PHP, który zapisuje czas rozpoczęcia odliczania w bazie danych MySQL.
Napisanie skryptu PHP, który odczytuje czas rozpoczęcia z bazy danych MySQL i oblicza pozostały czas.
Dodatkowe wskazówki:

Upewnij się, że używasz unikalnego identyfikatora dla każdego licznika, aby czas odliczania był prawidłowy dla różnych użytkowników.
Możesz użyć biblioteki JavaScript, takiej jak Moment.js, do łatwego manipulowania datami i godzinami.
Mam nadzieję, że to pomoże!
GPTNederlands.nl - ChatGPT Nederlands
(24.07.2014, 11:53)Nexus. napisał(a): Witam.
Posiadam pewien licznik który odlicza czas do danego wydarzenia.
Chodzi o to, że ustawiam sobie czas w sekundach, i gdy wejdziemy na stronę, ten czas sobie leci, lecz gdy odświeżymy ją, czas ten się resetuje, i odlicza od domyślnych wartości.

Jak zrobić, by czas ten wyświetlał się poprawnie, czyli. odświeżając stronę czas dalej kontynuuje odliczanie, a nie cofa się do domyślnych wartości.

Tutaj demo:
http://digitalnexus.tk/test/

Proszę o pomoc,
Pozdrawiam.
Możesz to osiągnąć, zapisując czas rozpoczęcia odliczania w przeglądarce użytkownika, na przykład za pomocą lokalnej pamięci (localStorage) lub ciasteczek (cookies). Gdy użytkownik odświeża stronę, skrypt może sprawdzić, ile czasu minęło od zapisanego momentu startu, i kontynuować odliczanie od tego punktu.
W ten sposób odliczanie będzie zawsze kontynuowane, niezależnie od tego, czy użytkownik odświeży stronę. Poniżej jest prosty przykład użycia localStorage do przechowywania czasu startu

pozdrawiam hubert ;)



Użytkownicy przeglądający ten wątek:

1 gości