Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> jquery hover i ładowanie obrazków
tomtheman
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 23.09.2011

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


Witam

Mam taki problem:
Mam listę nieuporządkowaną w html taką jak poniżej.



  1. <ul class="lista">
  2. <li class="pierwszy"><a href="#">Pierwszy link</a></li>
  3. <li class="drugi"><a href="#">Drugi link</a></li>
  4. <li class="trzeci"><a href="#">trzeci link</a></li>
  5. </ul>




W jquery napisałem kod, który ładuje obrazek (o nazwie "nazwa_klasy.svg") jako tło do każdego wiersza listy a potem poprzez najechanie myszką przełącza na drugi obrazek ("nazwa_klasy-hover.svg") czyli ten sam obrazek (ikonę) z innym kolorem wypełnienia.
Problem polega na tym, że przy każdym najechaniu myszką i każdym zjechaniu ładowany jest od nowa obrazek co po pierwsze nie wygląda dobrze bo pomiędzy jednym a drugim załadowaniem obrazka jest białe mignięcie a po drugie zżera niepotrzebnie transfer.

[JAVASCRIPT] pobierz, plaintext
  1. $(function(){
  2. $(".lista li").each(function() {
  3. var $this = $(this);
  4. $this.css({
  5. 'background-image': 'url(icons/' + $this.attr('class') + '.svg)',
  6. });
  7. });
  8.  
  9. $(".lista li").hover(function() {
  10. var $this = $(this);
  11. $this.css('background-image', 'url(icons/' + $this.attr('class') + '-hover.svg)');
  12. },
  13. function() {
  14. var $this = $(this);
  15. $this.css('background-image', 'url(icons/' + $this.attr('class') + '.svg)');
  16. });
  17.  
  18. });
[JAVASCRIPT] pobierz, plaintext


No i mam odpowiednie ostylowanie w css.

Najlepszym rozwiązaniem byłoby użycie w css'ie :hover {fill:red;} ale niestety nie działa to do obrazków svg ładowanych zewnętrznie (działa tylko wtedy gdy svg jest dodawane jako wewnętrzny kod do pliku html).

Ma ktoś pomysł dlaczego raz załadowany obrazek nie zostaje zapamiętany tylko jest od nowa ładowany przy każdej akcji?

ps. dla obrazków innych niż .svg (np. png) problem też występuje.

Pozdrawiam
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 4.10.2025 - 17:19