0

要素の高さ「.portfolio-set-height」を、これらの要素すべての最高の高さに設定し (高さが異なる)、この高さを別の要素の最小高として使用しています。添付のコードはこれで機能します。しかし、ウィンドウのサイズが変更されたときにjqueryにスクリプトを再実行させることはできません。何か案は?

(私はすでに$(window).resize(function()運が悪いことを試しました)

$(document).ready(function() {
   var maxHeight = -1;

   $('.portfolio-set-height').each(function() {
     maxHeight = maxHeight > $(this).height() ? maxHeight : $(this).height();
   });

   $('.portfolio-set-height').each(function() {
     $(this).height(maxHeight);
   });
 });


$(document).ready(function() {
  $(".work-slider").css("min-height", function(){ return $(".portfolio-set-height").height() });
});
4

2 に答える 2

0

$(document).ready 内で指定した関数は、ローカルで使用できます。$(document).ready が一度起動されると、コードは外部から到達できなくなります。メソッドは $(document).ready() の外で指定する必要があります。例えば:

$(document).ready(function(){ready1();}); 
$(document).ready(function(){ready2();});
var ready1 = function () { 
    var maxHeight = -1;
      $('.portfolio-set-height').height(''); 
    $('.portfolio-set-height').each(function() { maxHeight = maxHeight > $(this).height() ? maxHeight : $(this).height(); }); 
    $('.portfolio-set-height').each(function() { $(this).height(maxHeight); }); 
} 
var ready2 = function () {
    $(".work-slider").css("min-height", function(){ return $(".portfolio-set-height").height() });
}
$(window).resize(function(){ ready1(); ready2(); });
于 2012-10-10T20:04:34.420 に答える
-1

ウィンドウのサイズ変更を検出する唯一の関数は .resize です。JQuery で .resize を使用する必要があります: http://api.jquery.com/resize/

$(window).resize(function() {
    // the window has been resized, make changes
});

これがうまくいかない場合は、ロジックに問題があります。jsfindle のコピー ペーストを投稿します。

ここに jsFidel があります: http://jsfiddle.net/uVkrS/7/

于 2012-10-10T15:40:29.830 に答える