窗口高度的重新运行脚本调整大小?

时间:2012-10-10 15:38:34

标签: jquery resize reset

我将我的元素“.portfolio-set-height”的高度设置为alle这些元素的最高高度(它们具有不同的高度),然后我将此高度用作另一个元素的min-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() });
});

2 个答案:

答案 0 :(得分:0)

您在$(文件).ready中指定的功能是本地可用的。当$(document).ready一次被触发时,代码无法从外部访问。您应该在$(document).ready()之外指定方法。 E.g:

$(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(); });

答案 1 :(得分:-1)

检测窗口大小调整的唯一功能是.resize。您需要在JQuery中使用.resize:http://api.jquery.com/resize/

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

如果这不是真的,那么你的逻辑就是proglem。发布jsfindle复制粘贴。

这是一个jsFidel:http://jsfiddle.net/uVkrS/7/