Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: JS расчитывающий высоту контента
 
 автор: pautina   (21.07.2010 в 09:58)   письмо автору
 
 

Здравствуйте Уважаемое сообщество.
Ни поможете написать JS который бы расчитывал высоту области content на сайте.
Вот сайт http://my-page48.narod.ru/index2.html
Область контента обведена черной рамкой в 1 пиксел, Нужен скрипт который бы расчитывал высоту content в пикселах.

  Ответить  
 
 автор: Lelik   (21.07.2010 в 12:26)   письмо автору
 
   для: pautina   (21.07.2010 в 09:58)
 


var iH = document.getElementById('content').offsetHeight;

alert(iH);

  Ответить  
 
 автор: Lelik   (21.07.2010 в 12:27)   письмо автору
 
   для: pautina   (21.07.2010 в 09:58)
 

.

  Ответить  
 
 автор: pautina   (21.07.2010 в 15:31)   письмо автору
 
   для: Lelik   (21.07.2010 в 12:27)
 

А как теперь это значение высоты задать для сайдбара.

<div class="sidebar" id="sideRight">
...
</div>

  Ответить  
 
 автор: Lelik   (21.07.2010 в 16:18)   письмо автору
 
   для: pautina   (21.07.2010 в 15:31)
 


var iH = document.getElementById('sideRight').offsetHeight; 


на будущее, лучше ознакомиться с методом getElementById, чтобы вопросв не возникало

  Ответить  
 
 автор: pautina   (21.07.2010 в 19:35)   письмо автору
 
   для: 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>

В чём ошибка не скажете?

  Ответить  
 
 автор: Lelik   (21.07.2010 в 20:09)   письмо автору
 
   для: pautina   (21.07.2010 в 19:35)
 

я сам хочу вас спросить: В чём ошибка не скажете, что не так работает как ожидалось?

  Ответить  
 
 автор: АЯ   (21.07.2010 в 21:23)   письмо автору
 
   для: pautina   (21.07.2010 в 19:35)
 

Ошибка, вероятнее всего, в том, что браузер ещё не знает, что на странице есть элементы с id=content и id=sideRight

Надо или поместить этот скриптовой блок после тега </body>
Или оформить это дело ФУНКЦИЕЙ, коя подключается ПОСЛЕ окончания загрузки всех элементов документа (включая элементы с id=content и id=sideRight)

  Ответить  
 
 автор: pautina   (22.07.2010 в 08:24)   письмо автору
 
   для: АЯ   (21.07.2010 в 21:23)
 

Ни скажете как оформить функцией?

  Ответить  
 
 автор: АЯ   (22.07.2010 в 09:00)   письмо автору
 
   для: 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>

  Ответить  
 
 автор: pautina   (22.07.2010 в 09:46)   письмо автору
 
   для: АЯ   (22.07.2010 в 09:00)
 

Смотрите http://my-page48.narod.ru/index2.html
Вроде бы всё нормально, скрипт расчитывает значение высоты content, но значение высоты sideRight не изменилось, почему?

  Ответить  
 
 автор: АЯ   (22.07.2010 в 10:16)   письмо автору
 
   для: pautina   (22.07.2010 в 09:46)
 

Так не Вася=Петя надо писать, а наоборот - Петя=Вася.
В последней строке уберите var и не просто поменяйте местами выражения, а УСТАНОВИТЕ стиль:
document.getElementById('sideRight').style.height = iH + 'px';

  Ответить  
 
 автор: pautina   (22.07.2010 в 12:21)   письмо автору
 
   для: АЯ   (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   (26.07.2010 в 17:05)   письмо автору
 
   для: pautina   (22.07.2010 в 12:21)
 

Не скажете как прописать условие что если высота content<400px, то высота content=400px.

  Ответить  
 
 автор: Lelik   (26.07.2010 в 17:08)   письмо автору
 
   для: pautina   (26.07.2010 в 17:05)
 

min-height

  Ответить  
 
 автор: pautina   (26.07.2010 в 18:41)   письмо автору
 
   для: Lelik   (26.07.2010 в 17:08)
 

Как это значение поставить в скрипт?

  Ответить  
 
 автор: Lelik   (26.07.2010 в 19:01)   письмо автору
 
   для: pautina   (26.07.2010 в 18:41)
 

это css, задав это свойство, блок будет без всяких скриптом 400 пикселов и не меньше.

  Ответить  
 
 автор: pautina   (26.07.2010 в 19:47)   письмо автору
 
   для: Lelik   (26.07.2010 в 19:01)
 

Что css это понятно, а как быть если в скрипте прописать надо?

  Ответить  
 
 автор: Lelik   (26.07.2010 в 20:25)   письмо автору
 
   для: 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> 

  Ответить  
 
 автор: pautina   (28.08.2010 в 11:13)   письмо автору
 
   для: 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> 

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования