Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Изменение ширины элемента (https://javascript.ru/forum/dom-window/35948-izmenenie-shiriny-ehlementa.html)

Shurik 27.02.2013 13:47

Изменение ширины элемента
 
Всем привет!

Не получается задать ширину элемента через стили. Делаю так:


<script type="text/javascript">
	function width()
	{
		document.getElementById("elem").style.width = "600px";
	}
	width();
</script>


<div style="background:green" id="elem">text</div>


Но элемент растянут на всю страницу, а не на 600px. Что не так?

ksa 27.02.2013 14:42

Цитата:

Сообщение от Shurik
Что не так?

Например твой скрипт выполнился ранее создания элемента...

ksa 27.02.2013 14:43

<script type="text/javascript">
	function width() {
		document.getElementById("elem").style.width = "100px";
	};
	window.onload=width;
</script>
<div style="background:green" id="elem">text</div>

danik.js 27.02.2013 14:52

Проще так:
<div style="background:green" id="elem">text</div>
<script>
    function width() {
        document.getElementById("elem").style.width = "100px";
    };
    width();
</script>

ksa 27.02.2013 15:14

Цитата:

Сообщение от danik.js
Проще так

Я не сторонник тыкать скрипты по всей странице... :no:

danik.js 27.02.2013 15:29

Зачем же по всей странице. В самом низу, перед закрывающим body. Или можно функции объявлять в башке, а вызовы уже делать у подножья. И никаких проблем с кроссбраузерностью, и не нужно ждать загрузку всех неважных ресурсов типа картинок.
А вобще, например для сворачивания меню-аккордеона, я добавлю скрипт сразу после тега меню, чтобы небыло мерцания, ибо до DOMContentLoaded еще далеко. Не вижу в этом ничего плохого.


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