Mam element img w moim DOM. Na podstawie działania użytkownika obliczam adres URL obrazu i zmieniam atrybut src elementu obrazu (przy użyciu jQuery). Nowy obraz ma inny rozmiar niż stary obraz. Działa to dobrze w Safari, ale IE nie zmienia rozmiaru ekranu dla rozmiaru nowego obrazu. Mam obsługę .load na zmianie src (w której dokonuję pewnych zmian w klasie elementu img) ... gdybym wiedział, jak uzyskać dostęp do rzeczywistego rozmiaru obrazu, mógłbym ustawić właściwości wysokości i szerokości elementów img. Czy gdzieś te wartości są dostępne? Jeśli nie, czy jest jakiś inny sposób wyświetlania obrazu w jego nowym rozmiarze?Zmiana źródła znacznika obrazu (img) nie zmienia rozmiaru na IE
Odpowiedz
chciałbym zbadać inne rozwiązania, ale można rzeczywiście uzyskać dostęp do tych informacji bezpośrednio
var myImage = new Image();
myImage.src = $("image selector goes here").attr('src');
myImage.onload = function() {
alert(myImage.width + "," + myImage.height);
}
miałem ten sam problem, ale zadbał o niego.
$("#img").removeAttr("height").removeAttr("width").attr("src", newsrc);
Nie widzę, jak to by działało. Popraw mnie, jeśli się mylę, ale z tego, co widzę, wysokość i szerokość nie są atrybutami DOM - styl jest jednak. Usunięcie "stylu" działa w Chrome, zobacz moją odpowiedź. – tronbabylove
pracuję w Chrome, nie IE, ale miałem ten sam problem i pomyślałem, że podzielę się dla nikogo, że natknęła się na to pytanie. Rozwiązałem to przez usunięcie atrybutu "style" z obrazu przed zmianą źródła, tj .:
myImg.removeAttribute ('styl') setAttribute ('src', newsrc.);
działa jak urok. –
- 1. Zmiana rozmiaru obrazu za pomocą PIL zmienia kolory drastycznie
- 2. IFrame Zmiana rozmiaru obrazu
- 3. Zmiana rozmiaru obrazu w R
- 4. Zmiana rozmiaru ducha-obrazu obrazka
- 5. Zmiana rozmiaru obrazu w pythoniu
- 6. Zmiana rozmiaru ikony znacznika Google Maps
- 7. Zmiana rozmiaru obrazu przed przesłaniem
- 8. Zmiana rozmiaru obrazu bitmapowego
- 9. Zmiana rozmiaru ramki UIWebView nie zmienia rozmiaru wewnętrznej zawartości
- 10. Zmiana rozmiaru okna nie zmienia rozmiaru zawartości w dyktafonie
- 11. Zmiana rozmiaru obrazu szyn na widoku widoku?
- 12. Zmiana rozmiaru IMAGEVIEW na skali obrazu Android
- 13. zmiana rozmiaru obrazu przy zapisie
- 14. Zmiana rozmiaru obrazu warunkowego za pomocą Carrierwave
- 15. Zmiana rozmiaru istniejącego obrazu Carrierwave
- 16. Zmiana rozmiaru obrazu z przycięciem
- 17. zmiana rozmiaru znacznika w python seaborn lmplot
- 18. zmiana rozmiaru obrazu z pliku
- 19. Zmiana rozmiaru znacznika w mapach Google V3
- 20. Zmiana rozmiaru obrazu w Javie w celu zmniejszenia rozmiaru obrazu
- 21. Zmiana rozmiaru obrazu przy użyciu metody rozciągliwejImageWithLeftCapWidth
- 22. Zmiana rozmiaru obrazu płótno bez rozmycia to
- 23. zmiana wejścia pliku wymiany img src i zmiana koloru obrazu
- 24. PIL Image.resize() nie zmienia rozmiaru zdjęcia
- 25. Zmiana obrazu src w zależności od rozmiaru ekranu
- 26. Zmiana rozmiaru widoku w OnLayoutChangeListener
- 27. Zmiana rozmiaru obrazu JPEG w systemie plików
- 28. MKOverlay nie zmienia rozmiaru płynnie
- 29. Pula nici nie zmienia rozmiaru
- 30. Zmiana rozmiaru obrazu 3D (i ponowne próbkowanie)
Dzięki za sugestię, ale niestety kiedy * CHANGE * src obrazem i załadować obraz nowego rozmiaru, element img nadal raportuje szerokość i wysokość wartości początkowych, a nie nowo załadowany obraz (na IE, to znaczy, jak powiedziałem, obraz jest zmieniany przez Safari). – Zhami
Spróbuj wczytać obraz bezpośrednio z adresu url, w przeciwieństwie do metody 'attr ('src'). Więc coś jak 'myImage.src =" http://example.com/awesome.gif "' następnie sprawdź szerokość. Nie rozumiem, jak mogłaby ona zgłosić tę samą szerokość, ponieważ nie powinna tego wiedzieć. Jest to rodzaj bólu, ponieważ wysyła dwa żądania do serwera dla obrazu, ale nie powinno być problemu, jeśli istnieje buforowanie. –
Podejrzewam, że mechanizm renderujący wykonuje układ z pierwszym obrazem. Kolejne ładunki obrazu nie wymuszają przekazywania. Przepisałem całe moje podejście, aby uniknąć tego problemu. – Zhami