窗口调整大小时高度自动递增

时间:2018-03-16 15:10:22

标签: javascript jquery

我的代码。调整窗口大小时div高度不增加。任何人都可以帮助我。

$(document).ready(function(){
    resizeContent();

    $(window).resize(function() {
        $(".js-tile").each(function(){
            var tileHeight = 0; 
           if ($(this).height() > tileheight) { tileheight = $(this).height(); }
        });
        $(".js-tile").height(tileheight);
    });
});

3 个答案:

答案 0 :(得分:0)

$(window).resize(function() {
    var tileHeight = 0; 
    $(".js-tile").each(function(){
       if ($(this).height() > tileheight) { tileheight = $(this).height(); }
    });
    $(".js-tile").height(tileheight);
});

您必须在tileHeight函数之外定义变量.each。现在发生的事情是tileHeight传递给undefined时是height()(它没有在该范围内定义),所以jQuery忽略它(返回当前值)元素的高度)

答案 1 :(得分:0)

您无法在循环外访问var tileHeight。这是您的问题的解决方案。



$(document).ready(function(){ resizeContent();

$(window).resize(function() {
    $(".js-tile").each(function(){
       var tileHeight = 0; 
       if ($(this).height() > tileheight) { 
          tileheight = $(this).height(); 
          $(this).height(tileheight);
       }
    });
});

});




答案 2 :(得分:0)

这是var您的代码不能正常工作,因为

中的拼写错误
  

var titleHeight,当您使用上部H进行声明,但将其用作标题高度

溶液:

$(window).resize(function() {
    let tileHeight = 0; 
$(".js-tile").each(function(){
     if ($(this).height() > tileHeight ) { tileHeight = $(this).height(); }
     });
     $(".js-tile").height(tileHeight );
   });
 });

另外,我建议使用let,因为它在块

范围内受限制