|
|
|
| Здравствуйте Уважаемое сообщество.
Ни поможете написать JS который бы расчитывал высоту области content на сайте.
Вот сайт http://my-page48.narod.ru/index2.html
Область контента обведена черной рамкой в 1 пиксел, Нужен скрипт который бы расчитывал высоту content в пикселах. | |
|
|
|
|
|
|
|
для: pautina
(21.07.2010 в 09:58)
| |
var iH = document.getElementById('content').offsetHeight;
alert(iH);
|
| |
|
|
|
|
|
|
|
для: pautina
(21.07.2010 в 09:58)
| | . | |
|
|
|
|
|
|
|
для: Lelik
(21.07.2010 в 12:27)
| | А как теперь это значение высоты задать для сайдбара.
<div class="sidebar" id="sideRight">
...
</div>
|
| |
|
|
|
|
|
|
|
для: pautina
(21.07.2010 в 15:31)
| |
var iH = document.getElementById('sideRight').offsetHeight;
|
на будущее, лучше ознакомиться с методом getElementById, чтобы вопросв не возникало | |
|
|
|
|
|
|
|
для: Lelik
(21.07.2010 в 16:18)
| | Может я что неправильно собрал, в index.html пишу в head код
<script type="text/javascript">
var iH = document.getElementById('content').offsetHeight;
alert(iH);
var iH = document.getElementById('sideRight').offsetHeight;
</script>
|
В чём ошибка не скажете? | |
|
|
|
|
|
|
|
для: pautina
(21.07.2010 в 19:35)
| | я сам хочу вас спросить: В чём ошибка не скажете, что не так работает как ожидалось? | |
|
|
|
|
|
|
|
для: pautina
(21.07.2010 в 19:35)
| | Ошибка, вероятнее всего, в том, что браузер ещё не знает, что на странице есть элементы с id=content и id=sideRight
Надо или поместить этот скриптовой блок после тега </body>
Или оформить это дело ФУНКЦИЕЙ, коя подключается ПОСЛЕ окончания загрузки всех элементов документа (включая элементы с id=content и id=sideRight) | |
|
|
|
|
|
|
|
для: АЯ
(21.07.2010 в 21:23)
| | Ни скажете как оформить функцией? | |
|
|
|
|
|
|
|
для: pautina
(22.07.2010 в 08:24)
| |
<script type="text/javascript">
onload = function ()
{
var iH = document.getElementById('content').offsetHeight;
alert(iH);
var iH = document.getElementById('sideRight').offsetHeight;
}
</script>
|
| |
|
|
|
|
|
|
|
для: АЯ
(22.07.2010 в 09:00)
| | Смотрите http://my-page48.narod.ru/index2.html
Вроде бы всё нормально, скрипт расчитывает значение высоты content, но значение высоты sideRight не изменилось, почему? | |
|
|
|
|
|
|
|
для: pautina
(22.07.2010 в 09:46)
| | Так не Вася=Петя надо писать, а наоборот - Петя=Вася.
В последней строке уберите var и не просто поменяйте местами выражения, а УСТАНОВИТЕ стиль:
document.getElementById('sideRight').style.height = iH + 'px';
|
| |
|
|
|
|
|
|
|
для: АЯ
(22.07.2010 в 10:16)
| | Спасибо всё заработало, а Вы не дадите ссылку на материал по JS где описанны примерно вот такие вещи
<script type="text/javascript">
onload = function ()
{
var iH = document.getElementById('box_content').offsetHeight;
alert(iH);
document.getElementById('sideLeft').style.height = iH + 'px';
}
</script>
|
| |
|
|
|
|
|
|
|
для: pautina
(22.07.2010 в 12:21)
| | Не скажете как прописать условие что если высота content<400px, то высота content=400px. | |
|
|
|
|
|
|
|
для: pautina
(26.07.2010 в 17:05)
| | min-height | |
|
|
|
|
|
|
|
для: Lelik
(26.07.2010 в 17:08)
| | Как это значение поставить в скрипт? | |
|
|
|
|
|
|
|
для: pautina
(26.07.2010 в 18:41)
| | это css, задав это свойство, блок будет без всяких скриптом 400 пикселов и не меньше. | |
|
|
|
|
|
|
|
для: Lelik
(26.07.2010 в 19:01)
| | Что css это понятно, а как быть если в скрипте прописать надо? | |
|
|
|
|
|
|
|
для: pautina
(26.07.2010 в 19:47)
| |
onload = function ()
{
var iH = document.getElementById('box_content').offsetHeight;
if(iH<400) {
iH=400;
document.getElementById('box_content').style.height = iH+'px';
}
}
</script>
|
| |
|
|
|
|
|
|
|
для: Lelik
(26.07.2010 в 20:25)
| | Спасибо, очень помогло
вот скрипт с учётом разных зачений высоты сайдбара и контена
(при условии что сонтент < области сайдбара и контент > области сайдбара )
<script type="text/javascript">
onload = function ()
{
var iH = document.getElementById('content_str').offsetHeight;
var iH2 = document.getElementById('sideLeft').offsetHeight;
alert(iH);
alert(iH2);
if(iH<iH2) {
iH2=583;
document.getElementById('sideLeft').style.height = iH2+'px';
}
if(iH>iH2) {
document.getElementById('sideLeft').style.height = iH+'px';
}
}
</script>
|
| |
|
|
|