JS Высота блока относительно другого блока

Pokrowsky

Новичок
Привет. Нужна помощь по JS.
Значит есть блок <div id="blockheight"></div>. Его высота 0пх. блок находится на index.php.
И есть другие блоки они находятся в файле home.php. страница подключается <?php include($_SERVER['DOCUMENT_ROOT'].'/pages/'.$view.'.php'); ?> вот таким способом. блоки эти вызываются кликом
Код:
$( document ).ready(function() {
    $( "#clicksushi" ).click(function() {
        $( "#opensushi2" ).slideToggle( "slow" );
        $( "#openpizza2" ).hide( 500 );
        $( "#openkabab2" ).hide( 500 );
        $( "#opensalad2" ).hide( 500 );
        $( "#opendrinks2" ).hide( 500 );
        $( "#opendessert2" ).hide( 500 );
        $( "#openfastfood2" ).hide( 500 );
        $( "#openlunch2" ).hide( 500 );

    });
});
Всего таких блоков 9. это пример одного блока.
Что мне нужно чтобы высота этих блоков+200пх приписывалось к блоку <div id="blockheight"></div>.
Я вот тут нарыскал в инете и получилось вот такое:

Код:
var h=($("#opensushi").offsetHeight+200)+'px';
$("#blockheight").css('height',h);
Ну что то не плюсуется высота к блоку, не могу понять в чем дело то ли JS не видит из-за документ_рут, то ли еще что. Я тут хотел как то через if else все это оформить что типа если клик на этот блок, то

var h=($("див кликнутого блока с его высотой").offsetHeight+200)+'px';
$("#blockheight").css('height',h);

Но для начала хотел разобраться с одним блоком , чтоб полезть на другие.
Ну вообщем так.
 

Pokrowsky

Новичок
минимальный воспроизводящий код страницы приведите
что есть я написал, код как вызывается блок и то что я нарыл в интернете по задаче которую должен выполнить. если вам не понятно что я хочу, я могу еще раз пояснить. я и сам думал что я не очень то внятно описал то что я хочу получить и сделать.
 

Hello

Новичок
что есть я написал, код как вызывается блок и то что я нарыл в интернете по задаче которую должен выполнить. если вам не понятно что я хочу, я могу еще раз пояснить. я и сам думал что я не очень то внятно описал то что я хочу получить и сделать.
Зайди на http://jsfiddle.net/, добавь код и HTML для своего случая, оставь ссылку здесь
 

Pokrowsky

Новичок
http://jsfiddle.net/Pokrowsky/hv4e2ude/2/

вот добавил. значит что тут есть. линк с ид при нажатии вылазит блок, по умолчанию в css у этого блока стоит display:none;
потом после активаций этого блока в css display:none; меняется на display:block; ну это всем понятно. высота этого блока мне не известна (в фидл это я сам написал чтоб был блок), т.к. туда из базы поступает информация и блок постоянно меняет высоту. всего таких блоков у меня 9. ну я для начала хочу разобраться с одним блоком. так кажется с этим все.

теперь само то что я не могу осуществить.
У меня есть другой блок

Код:
<div id="blockheight"></div>

<style>
#blockheight {height:0px;}
</style>
мне нужно

высота того блока который на фидл + 200рх. например, высота того блока на фидл 600рх+200рх=800рх. вот эти 800рх подставлялись вот в этот блок

Код:
<div id="blockheight"></div>
вот то что я нашел в интернете и переделал под себя

Код:
var h=($("#opensushi").offsetHeight+200)+'px';
$("#blockheight").css('height',h);
но почему то высота не подставляется. и вот в этом месте я застрял.
 

Pokrowsky

Новичок
Ха! я нашел в чем проблема. оказывается тот блок имеет display:none;, поэтому высота не вычисляется. но теперь другой вопрос как посчитать высоту после того как блок стал display:block; ?
 

Pokrowsky

Новичок
Код:
<script type="text/javascript">
                                             
        if(document.getElementById('opensushi2').style.display != 'block')
        {
                                                     
                document.getElementById('bheight').style.height = 50 + "px";
         }
         else
         {
                document.getElementById('bheight').style.height = document.getElementById('opensushi3').offsetHeight - 1000 + "px";
          }
                                             
</script>
Вот нашел такую вещь, но тоже ничего не происходит. блин тут надо как то перехватить изменение стиля блока после клика.

Кто нибудь помогите мне пожалуйста :(, я уже нашел причину, Вам тока подсказать надо как перехватить изменение стиля блока после клика.
 
Последнее редактирование:

Adelf

Administrator
Команда форума
так может в функции клика просто вызвать это? после того изменения, которое этот клик производит
 

Pokrowsky

Новичок
так, а можно это каким то кодом показать, честно говоря не очень понял
 
Сверху