Jquery 获取图像高度以计算外部div的高度

Jquery 获取图像高度以计算外部div的高度,jquery,css,Jquery,Css,我试图获取图像的动态高度,以便将相应的css添加到其父div和另一个后续div中 我的js目前看起来像这样: $(".imgContainer img").load(function(){ var imageHeight = $(this).height(); console.log(imageHeight); $(".parentDiv").css('min-height',imageHeight); $(".parentDiv .anoth

我试图获取图像的动态高度,以便将相应的css添加到其父div和另一个后续div中

我的js目前看起来像这样:

  $(".imgContainer img").load(function(){
      var imageHeight = $(this).height();
      console.log(imageHeight);
      $(".parentDiv").css('min-height',imageHeight);
      $(".parentDiv .anotherDiv").css('height',imageHeight);
  });

  $(window).resize(function() {
      var imageHeight = $(".imgContainer img").height();
      $(".parentDiv").css('min-height',imageHeight);
      $(".parentDiv .anotherDiv").css('height',imageHeight);
  });
但是:每2到3倍的高度不正确或装载不正确。这意味着在我可以通过css添加img高度之前,我不会在变量中获取img高度。我只是在控制台中输入了错误的值

它总是适用于调整大小

以防万一,这是我的html:

<div class="parentDiv">
    <div class="imgContainer">
        <img src="test.jpg" />
    </div>
    <div class="anotherDiv"></div>
</div>

谢谢你的帮助。
卡拉

问题似乎是由
.load()
方法引起的

这是我做的,而且很有效

注意:
.load()
不推荐使用,请参阅

与图像一起使用时加载事件的注意事项

开发人员试图使用.load()解决的一个常见问题 快捷方式是在图像(或 图像)已完全加载。有几个已知的警告 这一点值得注意。这些是:

它不能稳定地工作,也不能跨浏览器可靠地工作 如果图像src设置为与相同的src,则在WebKit中正确激发 在它没有正确冒泡之前,DOM树可以停止运行 对于已存在于浏览器缓存中的图像

使用
.on(“加载”,函数)
而不是
.load(函数)
,如下所示:

$(".imgContainer img").on("load",function(){
      var imageHeight = $(this).height();
      $(".parentDiv").css('min-height',imageHeight);
      $(".parentDiv .anotherDiv").css('height',imageHeight);
      $(".result").html("Image height: " + imageHeight);
  });

我希望它能帮助你。再见

问题似乎是由
.load()
方法引起的

这是我做的,而且很有效

注意:
.load()
不推荐使用,请参阅

与图像一起使用时加载事件的注意事项

开发人员试图使用.load()解决的一个常见问题 快捷方式是在图像(或 图像)已完全加载。有几个已知的警告 这一点值得注意。这些是:

它不能稳定地工作,也不能跨浏览器可靠地工作 如果图像src设置为与相同的src,则在WebKit中正确激发 在它没有正确冒泡之前,DOM树可以停止运行 对于已存在于浏览器缓存中的图像

使用
.on(“加载”,函数)
而不是
.load(函数)
,如下所示:

$(".imgContainer img").on("load",function(){
      var imageHeight = $(this).height();
      $(".parentDiv").css('min-height',imageHeight);
      $(".parentDiv .anotherDiv").css('height',imageHeight);
      $(".result").html("Image height: " + imageHeight);
  });

我希望它能帮助你。再见

每次都会触发加载吗?此外,您可能还需要消除大小的影响。您可以用实际图像为此设置小提琴吗?我不清楚你是否真的应该以窗口大小而不是图像加载事件为目标,每次加载都会触发吗?此外,您可能还需要消除大小的影响。您可以用实际图像为此设置小提琴吗?我不清楚你是否真的应该以窗口大小调整而不是图像加载事件为目标