Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] Proste sklaowanie obrazka
-lukasamd-
post
Post #1





Goście







Witam,
chciałbym sobie na forum dodać skrypt, który automatycznie pomniejszałby zbyt duże obrazki i zamieniał je na linki (tzn. dodanie stylu max-width i max-height, oraz linku).

Mam oto coś takiego co używa jquery:
Kod
$(document).ready(function()
{
  $("img").each(function(index) {
    var img = $(this);

    
    alert(img.attr("width") + 'x' + img.attr("height"));

    if ( img.attr("width") > 550)
    {
      $(img).replaceWith('aaaa');
    }

  });
  
});


Niestety, nie działa to zbyt logicznie.
Po pierwsze, w FF czy Operze zwraca dziwne wymiary - dla obrazka 1600x1000px pokazało 43x19px. Mimo to zamienia na napis.
W Chrome pokazuje 0x0 i nie zmienia...

Wydaje mi się, że w chwili wywołania alertu nie cały jest wczytany, stąd taka dziwna informacja. Potem jest już więcej informacji = zmniejsza.

No ale jak zrobić to tak, aby naprawdę działało, do tego również w Chrome?
Czy w ogóle taki sposób pobierania wymiarów ma tu sens?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat
Po pierwsze, w FF czy Operze zwraca dziwne wymiary - dla obrazka 1600x1000px pokazało 43x19px. Mimo to zamienia na napis.

Musisz się jeszcze podpiąć pod zdarzenie .load dla obrazka, aby odczytać jego właściwe wymiary. 43 na 19 jest to rozmiar małek ikonki pokazującej, że obrazek jeszcze się nie załadował.
Dlaczego tak się dzieje? .ready jest wywoływane kiedy cały HTML zostanie zassany a nie jak całą strona zostanie załadowana (wraz z obrazkami)
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: 12.10.2025 - 11:02