2011-12-22 13 views
0

divの高さをdivの幅に比例させる関数を作成しようとしています。私はwindow.resizeでイベントをトリガーしようとしていますが、今まで運がありませんでした。 divの幅は現在、必要に応じてサイズ変更されますが、含まれるdiv要素の境界の外側で高さが変更され、重なり合って正しく折り返されません。どんな助けでも大歓迎です。前もって感謝します!Resize jQuery .cycle()div

あなたのHTMLを見ずにハード
jQuery: 
    $(window).resize(function(){ 
     $('.bgCycle').each(function(){ 
      newHeight = $(this).parent('div').height(); 
      $(this).height(newHeight); 
      $(this).children('div').height(newHeight); 
     }) 
    }) 

    CSS: 
.bgCycle{ 
     border:1px solid red; 
     position:relative; 
     width:100% !important; 
    } 

    .imgContainerDiv{ 
     position:relative; 
     width:100% !important; 
    } 

HTML: 
<div class="bgCycle bgCycle1" style="z-index:1;"> 
    <div class="imgContainerDiv"> 
      <img src="http://localhost:8888/aleo/wp-content/uploads/2011/12/img1.jpg" style="width:100%;"/> 
    </div> 
    <div class="imgContainerDiv"> 
      <img src="http://localhost:8888/aleo/wp-content/uploads/2011/12/img2.jpg" style="width:100%;"/> 
    </div> 
</div> 
<div class="bgCycle bgCycle2" style="z-index:1;"> 
     <div class="imgContainerDiv"> 
      <img src="http://localhost:8888/aleo/wp-content/uploads/2011/12/img3.jpg" style="width:100%;"/> 
     </div> 
     <div class="imgContainerDiv"> 
      <img src="http://localhost:8888/aleo/wp-content/uploads/2011/12/img4.jpg" style="width:100%;"/> 
     </div> 
</div>    

答えて

0

、私は$(this).parent('div').height();はおそらくウィンドウの高さを参照する必要があることを推測している - $(window).height();を?

newHeight = $(window).height(); 

あなたは何をしますか?

+0

私はHTML出力を追加しました。もし$(window).height();この場合に適用されます。問題は.imgContainerDivが大きくなっていますが、.bgCycleクラスのdivを含む各オブジェクトは幅のサイズを変更するだけです。私の理屈は、.bgCycleのサイズが.imgContainerDivの高さと同じ場合、同じ高さに割り当てられ、適切にサイズが変更されるということです。これらのdivの下に表示されているコンテンツは、ページをラッピングしていないことにも注意してください。 – negrelja

+0

.bgCycle divには親divがないようですので、$(this).parent( 'div')。height()は機能しません。おそらくあなたがjsFiddle(http://jsfiddle.net/)を作ったのであれば、それはもっと意味があるだろうか? – SpoonNZ