Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][PHP] Cache obrazkowych Cyfry wyświetlanych zegarze.
Giluś
post 22.12.2012, 14:22:03
Post #1





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
404
post 22.12.2012, 17:38:26
Post #2





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 22.05.2011

Ostrzeżenie: (0%)
-----


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/

Ten post edytował 404 22.12.2012, 17:39:08
Go to the top of the page
+Quote Post
Giluś
post 23.12.2012, 15:26:55
Post #3





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
kamil4u
post 23.12.2012, 15:56:05
Post #4





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Wrzuć obrazka do Cache. Możesz to zrobić za pomocą JS i new Image. W Google znajdziesz odpowiednie info.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 03:27