Javascript:присвоение ширины объекта
Есть <div id="div1"> <div id="div2"> первый имеет динамическую ширину взависимости от содержимого, необходимо 2-му установить ширину которую имеет 1-й.
Делаю так: window.onload = function() { var div1 = document.getElementById("div1"); var div2 = document.getElementById("div2"); div2.style.width = div1.style.width + 'px'; } или: window.onload = function() { var div1 = document.getElementById("div1"); var div2 = document.getElementById("div2"); div2.style.width = div1.style.width; } не срабатывает, как правильно? |
getComputedStyle
currentStyle для ие |
div2.style.width = div1.style.offsetWidth + 'px';
|
не пойму, что то делаю не так что ли, вот код как есть(код в шапке):
<script type="text/javascript"> window.onload = function() { var table_shadow = document.getElementById("table_shadow"); var mainmenu = document.getElementById("mainmenu"); table_shadow.style.width = mainmenu.style.offsetWidth + 'px'; } </script> все ли верно? почему то не срабатывает, айдишники записаны верно, перепроверял |
tolian_27, выложи здесь пример.
|
Уфф, там Joomla и макет почти сверстан (на локале), код очень большой, выкладываю код шапки, и кусок кода css, этого достаточно?
head: <head> <jdoc:include type="head"/> <link href="/site/templates/tm/css/template.css" rel="stylesheet" type="text/css" media="all"/> <link href="/site/templates/tm/css/custom_modules.css" rel="stylesheet" type="text/css" media="all"/> <link href="/site/templates/tm/css/editor.css" rel="stylesheet" type="text/css" media="all"/> <link href="/site/templates/tm/css/colorbox.css" rel="stylesheet" type="text/css" media="all"/> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> <script src="http://localhost/site/templates/tm/js/jquery.colorbox.js"></script> <script> $(document).ready(function(){ $("a[rel='scheme1']").colorbox({transition:"fade"}); }); </script> <script type="text/javascript"> window.onload = function() { var table_shadow = document.getElementById("table_shadow"); var mainmenu = document.getElementById("mainmenu"); table_shadow.style.width = mainmenu.style.offsetWidth + 'px'; } </script> <!--[if (gte IE 6) & (lte IE 8)]> <link href="/site/templates/tm/css/ie.css" rel="stylesheet" type="text/css" media="all"/> <![endif]--> <!--[if IE 6]> <script type="text/javascript" src="/site/templates/tm/js/pngfix.js"></script> <![endif]--> </head> menu: <ul class="menu" id="mainmenu"> <li id="current" class="first active item1"> <a href="http://localhost/site/"><span>Главная</span></a> </li> <li class="parent item2"> <a href="/site/index.php?option=com_content&view=article&id=1&Itemid=2"><span>Документация</span></a> </li> </ul> <table id="table_shadow"><tr><td></td><td></td></tr></table> CSS: Код:
.menu { |
что ,в гугле слабо набрать названия функций для работы с вычисляемыми стилями? и получаемые результаты через алерт проверять или в фаербаге чтоб локализовать проблему?
|
Я тупанул немного, style лишний:
table_shadow.style.width = mainmenu.offsetWidth + 'px'; alert(mainmenu.style.offsetWidth); alert(mainmenu.offsetWidth); а вообще, dmitriymar прав, изучай отладку хотя бы alert-ами, а то с тобой как с маленьким. |
Часовой пояс GMT +3, время: 01:04. |