Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP] Cache obrazkowych Cyfry wyświetlanych zegarze.
Forum PHP.pl > Forum > Przedszkole
Giluś
Cześć, zamieniłem sobie cyfry od 0 do 9 na obrazkowe które mają ~2.2kb (sztuka) łącznie ~23kb i problem polega na tym iż nie ma płynnego przejścia między cyframi tylko są takie przeskoki, na komputerze gdy testowałem było wszystko OK, ale to dlatego iż na komputerze to LocalHost, a wiec o wiele szybsze działanie niż na normalnej stronie.. wydaje mi się, że taki skoki można by ominąć gdyby pobrać na samym początku (otwarciu) strony wszystkie te cyfry i je przechowywać w jakimś Cache czy coś podobnego.. aby nie ładować co 1 sekunde ponownie obrazka.. - Jak takie coś zrobić mój kod JS wygląda tak:..

[JAVASCRIPT] pobierz, plaintext
  1. function liczCzas(ile) {
  2. dni = Math.floor(ile / 86400);
  3. godzin = Math.floor((ile - dni * 86400)/ 3600);
  4. minut = Math.floor((ile - dni * 86400 - godzin * 3600) / 60);
  5. sekund = ile - dni * 86400 - minut * 60 - godzin * 3600;
  6. if (godzin < 10){ godzin = '0'+ godzin; }
  7. if (minut < 10){ minut = '0' + minut; }
  8. if (sekund < 10){ sekund = '0' + sekund; }
  9. if (ile > 0) {
  10. ile--;
  11. var str = godzin + minut + sekund;
  12.  
  13. document.getElementById('czas').innerHTML =
  14. '<div class="box"><img src="gfx/cyfry/'+ str[0] +'.png" alt="Logo" /></div>' +
  15. '<div class="box"><img src="gfx/cyfry/'+ str[1] +'.png" alt="Logo" /></div>' +
  16. '<div class="pkt">:</div>' +
  17. '<div class="box"><img src="gfx/cyfry/'+ str[2] +'.png" alt="Logo" /></div>' +
  18. '<div class="box"><img src="gfx/cyfry/'+ str[3] +'.png" alt="Logo" /></div>' +
  19. '<div class="pkt">:</div>' +
  20. '<div class="box"><img src="gfx/cyfry/'+ str[4] +'.png" alt="Logo" /></div>' +
  21. '<div class="box"><img src="gfx/cyfry/'+ str[5] +'.png" alt="Logo" /></div>';
  22.  
  23. setTimeout('liczCzas('+ile+')', 1000);
  24. } else {document.getElementById('czas').innerHTML =
  25. '<div class="box"><img src="gfx/cyfry/0.png" alt="Logo" /></div><div class="box"><img src="gfx/cyfry/0.png" alt="Logo" /></div><div class="pkt">:</div><div class="box"><img src="gfx/cyfry/0.png" alt="Logo" /></div><div class="box"><img src="gfx/cyfry/0.png" alt="Logo" /></div><div class="pkt">:</div><div class="box"><img src="gfx/cyfry/0.png" alt="Logo" /></div><div class="box"><img src="gfx/cyfry/0.png" alt="Logo" /></div>';
  26.  
  27. }}
[JAVASCRIPT] pobierz, plaintext


Pozdrawiam i z góry bardzo dziękuje za pomoc smile.gif.
404
Ja bym na Twoim miejscu popróbował pobawić się ze stylami (display:[block|none]). Pomocne linki:
http://api.jquery.com/hide/
http://api.jquery.com/show/
http://api.jquery.com/toggle/
Giluś
Nie wiem czy to pomogło, czy też 'samo się naprawiło' ale zrobiłem ukrytego diva na samym początku strony (pod body) a w nim dałem wszystkie te cyfry od 0 do 9 i problem znikł, tak jak gdyby te obrazki się załadowały jako pierwsze i przeglądarka je sobie zapisała w pamięci.
kamil4u
Wrzuć obrazka do Cache. Możesz to zrobić za pomocą JS i new Image. W Google znajdziesz odpowiednie info.
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.