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 once 被触发时,代码无法从外部访问。您应该在 $(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 回答