Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Licznik z opcją sumowania czasu
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
kryspinus
Witam, mam taki licznik, który zlicza czas od pewnej zadanej wartości do zera a następnie przeładowuje stronę i znów zaczyna odliczać czas:

CODE

var sec=30;
function time()
{
if(sec==1)
{
document.pytanie.submit();
}
else
{
sec--;
document.getElementById('tm').innerHTML=(sec < 10) ? (0 + sec) : sec;
setTimeout("time();", 1000);
}
}


a chciałbym, żeby oprócz tego, że po przeładowaniu strony licznik znów zliczał ten sam czas, żeby po przyciśnięciu przycisku np. "Dalej" licznik na następnej stronie zliczał sumę czasu który pozostał i czas zadany. Proszę o pomoc
webdice
Musisz zapisać czas w sesji (AJAX) bądź w ciasteczkach.
kryspinus
Tylko właśnie nie za bardzo wiem, jak to zrobić. Jeśli przeładuję stronę to jak mam się odwołać do aktualnego czasu?
slammer
zapisujesz czas w cookie
  1. function createCookie(name,value,days) {
  2. if (days) {
  3. var date = new Date();
  4. date.setTime(date.getTime()+(days*24*60*60*1000));
  5. var expires = "; expires="+date.toGMTString();
  6. }
  7. else var expires = "";
  8. document.cookie = name+"="+value+expires+"; path=/";
  9. }


przy ładowaniu strony odczytujesz cookie:
  1. function readCookie(name) {
  2. var nameEQ = name + "=";
  3. var ca = document.cookie.split(';');
  4. for(var i=0;i < ca.length;i++) {
  5. var c = ca[i];
  6. while (c.charAt(0)==' ') c = c.substring(1,c.length);
  7. if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  8. }
  9. return null;
  10. }
kryspinus
Chyba nie do końca o to mi chodziło. Chodziło o to, że na stronie jest licznik, odliczający czas np 30 sekund, po tych 30 sekundach, jeśli licznik dojdzie do 0, strona się przeładuje i znów odlicza się czas od 30 do 0. Na stronie jest też przycisk "dalej", którego naciśnięcie powoduje to samo, czyli przeładowanie strony i czas znów odlicza się od 30 do 0. Z tym, że ja chciałbym, żeby po naciśnięciu przycisku "Dalej", strona się przeładowała a czas który pozostał został doliczony do tych 30 sekund. Jeśli chodzi o to rozwiązanie na ciasteczkach to dałoby się to zrobić w sumie w PHP, a mi zależało na jakiejś prostszej metodzie, najlepiej opartej na JavaScript i tej funkcji wyżej. Z góry dzięki za wszelką pomoc
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.