Просмотр полной версии : getElementBy...('ELem').style возник вопрос
grafdis4_01
07.11.2011, 20:35
Здравствуйте, я новичок и не понимаю некоторых вещей:
Есть изображение с id="lumber_img", и у него есть изначально(как и у любого другого изображения) ширина и высота. Почему если я делаю так
alert(document.getElementById("lumber_img").style.width);
мне возвращает пустую строку?
Потом я попробовал с помощью css задать высоту и ширину, а javascript все равно возвращает пустую строку. Почему так? И если так то как по другому узнать начальные параметры загружаемого изображения? :help:
trikadin
07.11.2011, 20:42
Если ширина/высота указаны так:
<img src="planberlina.png" id="img" width="100" height="100">
<script>
// то получать их следует так:
el= document.getElementById("img");
alert("size: " + parseInt(el.width) + "x" + parseInt(el.height));
</script>
Если вот так:
<img src="planberlina.png" id="img" style="width: 100px; height: 100px">
<script>
// то получать их следует так:
el= document.getElementById("img");
alert("size: " + parseInt(el.style.width) + "x" + parseInt(el.style.height));
</script>
Если они указаны в отдельном стилевом файле, то всё плохо - надо гуглить в сторону computedStyle/currentStyle(ie)
grafdis4_01
07.11.2011, 20:48
У меня как раз в отдельном, но и на том спасибо:)
grafdis4_01
07.11.2011, 20:49
А если они не указана вовсе?
Чтобы узнать изначальные параметры img, что нужно?
trikadin
07.11.2011, 20:56
Вы о таком?
<img src="http://img.yandex.net/i/www/logo.png" id="img">
<script>
el= document.getElementById("img");
if (el.offsetHeight) //если картика загрузилась и уже известна её высота
alert("size: "+el.offsetWidth + "x" + el.offsetHeight);
else {// иначе, если картинка не загрузилась - ставим обработчик на её загрузку
el.onload= function(){alert("size: " + this.offsetWidth + "x" + this.offsetHeight);}
};
</script>
Style возвращает то, что в style, чевидно же.)
trikadin
07.11.2011, 21:05
Style возвращает то, что в style, чевидно же.)
По себе помню, что неочевидно... Стиль - он и есть стиль, хуле думать?)
grafdis4_01
07.11.2011, 21:29
Спасибо Большое)
мне возвращает пустую строку?
Потом я попробовал с помощью css задать высоту и ширину, а javascript все равно возвращает пустую строку. Почему так?
Все ответы тут. :)
http://javascript.ru/blog/Andrej-Paranichev/Osnovy-programmnoj-animacii-JavaScript
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot