Próbuję ustawić wartość wysokości elementu obrazu utworzonego w javascript. W FF, Opera & Chrome ustawia poprawnie wysokość &. Jednak w IE 6 & 7 (Nie próbowałem 8) szerokość & wysokość pozostaje 0, dopóki obraz nie zostanie pobrany. Powodem, dla którego tego potrzebuję jest to, że mogę umieścić każdy obraz w rzędach & cols w oparciu o jego bieżący rozmiar.Szerokość i wysokość obrazu IE = 0 przed pobraniem obrazu
Jeśli nie jest możliwe ustawienie właściwości wysokości & w IE, to po prostu muszę utworzyć własną własność i ustawić ją tam.
Oto podstawowy kod, którego używam do utworzenia elementu &.
var img = document.createElement('img');
var wrap = document.createElement('div');
document.body.appendChild(wrap);
wrap.appendChild(img);
img.src = 'blah.jpg';
img.width = '100';
img.height = '100';
img.style.display = 'none';
// IE: width: 0 | height: 0
// FF: width: 100 | height: 100
alert('width: ' + img.width + ' | height: ' + img.height);
EDIT:
Próbowałem ustawienie img.style.visibility = 'ukryty' zamiast img.style.display = 'none'; ale to nie robi różnicy.
EDIT
znalazłem problem. Rzeczywistym problemem było połączenie rozwiązania Aziz i czegoś, czego pominąłam w oryginalnym przykładzie. Wydaje się, że w IE, jeśli dodasz element do innego elementu przed przypisaniem szerokości IE, po prostu go zignoruje.
Jak tworzysz obraz? Jak wygląda znacznik? http://www.catb.org/~esr/faqs/smart-questions.html –
Dodałem szkielet kodu, którego używam. – Alex
Nie mogę wykonać replikacji na IE6/IE7 z podanym kodem. Próbowałem nawet dużych obrazów, aby upewnić się, że alert ma miejsce przed załadowaniem obrazu. Alert pokazuje właściwą szerokość/wysokość dla mnie. – jimyi