2016-11-03 4 views
0

動的に2 divを同じ高さに維持したいと考えています。応答可能なWebページ上でウィンドウの画面幅が変わってもそのままにしておきます。私は下に貼り付けられたコードを使用していますが、一度だけ実行します。私はイベントリスナーを持っていたいと思います。内側の内容が幅を変更したときにリッスンし、ページを更新することなく各divの高さを調整します。どのように私はこれを行うことができますについて誰も洞察力を提供できますか?応答的なレイアウトで同じ高さに動的に2 divを維持する

Here is the JSFiDDle

<style> 
    .col1 {background:grey;} 
    .col2 {background:yellow;} 
    </style> 

      <div class="content col1 col-md-4"> 

     </div> 
     <div class="content col2 col-md-4"> 
     <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc,</p> 
     </div> 

<script> 
var m = $('.col1').height(); 
var d = $('.col2').height(); 
var run = Math.max (m,d); 
var execute = $('.content').height(run); 

execute 
</script> 
+0

CSSを使用しない理由...兄弟の高さを均等にする方法は少なくとも2つあります。 –

+0

よくある例では多くの構文が使われているようですが、Javascriptですばやく実行できるかどうかを確認したいと思いました。 –

+1

コードの最後の 'execute'文は実際には何か、そう? – CBroe

答えて

1

でだから私はそれを把握することができたことを行うことができます。

最初に私はのサイズ変更をリッスンするためにbodyタグでJavaScriptを置きますウィンドウ

<body onresize="resizeSameHeight()"> 

2つの関数を作成しました.1つはページの読み込みで実行し、もう1つは高さを削除して、ウィンドウのサイズ変更時に実行します。それは私のために完璧に動作します。

var s = sameHeight() 
    var r = resizeSameHeight() 


      function sameHeight() { 
       $('section').each(function() { 
        var m = $(this).find('.master').height(); 
        var d = $(this).find('.slave').height(); 
        var run = Math.max(m, d); 
        var execute = $(this).find('.content').height(run); 

        execute 

       }); 

      } 

      function resizeSameHeight() { 
       $('section').each(function() { 
        $(this).find('.content').css("height", ""); 
        var m = $(this).find('.master').height(); 
        var d = $(this).find('.slave').height(); 
        var run = Math.max(m, d); 
        var execute = $(this).find('.content').height(run); 

        execute 


       }); 

      } 


      $(document).ready(function() { 
       s 
      }); 
0

私はあなたがdiv要素の幅の変化か、幅の変化に適応し、特定の高さの2つのdivを望んでも、同じ高さに滞在したい、質問を取得いけませんか?

編集:

次に、あなただけのCSS

は、その内側にあなたが適応したいdivを定義するDIVの高さのdivコンテナの幅を定義して使用することができます。

相続例

.container{height: 500px;} 
 
.col1, .col2{height: 45%; overflow:hidden;margin:2% auto;} 
 
.col1 {background:grey;} 
 
.col2 {background:yellow;}
<div class="container"> 
 
    <div class="content col1 col-md-4">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu.</div> 
 
    <div class="content col2 col-md-4"> 
 
     <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. 
 
     </p> 
 
    </div> 
 
</div>

容器は、定義された高さを有し、チャイルズは、高さの%である高さを持っているので、場合でも、幅変化DIV、両方の意志同じ高さを維持する。コンテンツがオーバーフローした時点で、親の高さを定義するためにmediaquerysを使用する必要があるのは、特定の幅に依存します。

+0

幅の変更に対応できる特定の高さの2つのdivが必要 –

+0

div内のコンテンツが親の高さを超えていて、コンテンツが見えるようにコードを調整したい –

0

CSSはフレキシボックス

.col1 { 
 
    background: grey; 
 
    width: 33.33%; 
 
} 
 
.col2 { 
 
    background: yellow; 
 
    width: 33.33%; 
 
} 
 
.row { 
 
    display: flex; 
 
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> 
 
<div class="row"> 
 
    <div class="content col1 col-md-4"> 
 

 
    </div> 
 
    <div class="content col2 col-md-4"> 
 
    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium 
 
     quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. 
 
     Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. 
 
     Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. 
 
     Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla 
 
     mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc,</p> 
 
    </div> 
 
</div>

関連する問題