1

私はこれへの別の参照を見ましたが、私は応答を理解することができません。ウィンドウのサイズが変更されるときに、ページ要素(#maincontent)の高さを動的に変更しようとしています。

これは私のコードです:

$(function() {
   if($(window).resize()){
      var h1 = $(window).height();
      var h2 = $('#maincontent').height();
      if (h2<h1){
          $('#maincontent').css('height',h1);
      }
   }
});

ページを更新しないと機能せず、理由がわかりません。どこが間違っているのですか?

4

5 に答える 5

2

ウィンドウサイズ変更イベントを適切にキャプチャしていません:

   $(window).resize(function () {

      var h1 = $(window).height();
      var h2 = $('#maincontent').height();
      if (h2<h1){
          $('#maincontent').css('height',h1);
      }

   });
于 2012-07-05T20:15:01.563 に答える
1

サイズ変更機能はこのようには機能しません。引数として関数を取ります:

$(function(){
    $(window).resize(function() {
       // do things when the window is resized
    });
});

ほとんどのjquery関数は、このように、イベント(ここでは「サイズ変更」)が送信されたときに呼び出されるコールバックを受け取ります。

于 2012-07-05T20:13:57.817 に答える
1

これは、window.resize()が引数として関数を受け取るためです。

元。

    $(function () {
        $(window).resize(function () {
            // your code here
        });
    });
于 2012-07-05T20:14:41.467 に答える
1
$(function() {
    $(window).resize(function(e){

        var h1 = $(window).height();
        var h2 = $('#maincontent').height();
        if (h2<h1){
        $('#maincontent').css('height',h1);
        }

    })
 });

サイズ変更イベントの関数を渡すかどうかを確認する必要はありません

于 2012-07-05T20:15:02.420 に答える
1

これは、ページの読み込み時にnoresizeがトリガーされるためです。

var h2 = $('#maincontent').height();

function setSize(){         // wrap you necessary code inside a function
   var h1 = $(window).height();       
   if (h2<h1){
      $('#maincontent').css({height: h1 });
   }
}
setSize();                 // call at page load

$(window).resize(function(){
  setSize();               // and on window resize.
});
于 2012-07-05T20:15:15.637 に答える