Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   getElementBy...('ELem').style возник вопрос (https://javascript.ru/forum/events/22967-getelementby-%27elem%27-style-voznik-vopros.html)

grafdis4_01 07.11.2011 20:35

getElementBy...('ELem').style возник вопрос
 
Здравствуйте, я новичок и не понимаю некоторых вещей:
Есть изображение с 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>

Aetae 07.11.2011 21:03

Style возвращает то, что в style, чевидно же.)

trikadin 07.11.2011 21:05

Цитата:

Сообщение от Aetae
Style возвращает то, что в style, чевидно же.)

По себе помню, что неочевидно... Стиль - он и есть стиль, хуле думать?)

grafdis4_01 07.11.2011 21:29

Спасибо Большое)

ksa 07.11.2011 21:33

Цитата:

Сообщение от grafdis4_01
мне возвращает пустую строку?
Потом я попробовал с помощью css задать высоту и ширину, а javascript все равно возвращает пустую строку. Почему так?

Все ответы тут. :)
http://javascript.ru/blog/Andrej-Par...cii-JavaScript


Часовой пояс GMT +3, время: 12:42.