【问题标题】:Get height of img tags generated with ng-repeat获取使用 ng-repeat 生成的 img 标签的高度
【发布时间】:2016-09-05 17:57:37
【问题描述】:

我有一个使用 ng-repeat 创建图像的轮播。这些 img 标签的宽度已设置为 100%;和高度,自动。我如何以编程方式获取 img 标签的高度,因为在调整窗口大小时该值会发生变化?我试过了

$('#home-carousel img').load(function(){
    console.log($(this).height());
})

但它不起作用,因为当时不存在 imgs。 这是我正在使用的代码:

<div style="position:absolute; top:0px; z-index:-1" id="home-carousel" class="carousel slide" data-ride="carousel">

  <!-- Here's where the problem is -->
  <div class="carousel-inner" role="listbox">
    <div ng-repeat="slide in slides track by $index" class="item" ng-class="{active: $index == 0 }">
      <img src="{{slide.imgUrl}}">
    </div>
  </div>

编辑:好的,让我详细说明一下。这就是我想要实现的目标: 所以油漆桶的图像应该与它在这张图像中的外观完全一致;就在背景图像结束的底部

问题是,由于图像的宽度是 100%,当调整窗口大小时,会发生这种情况。所以我想要做的是获取旋转木马中img图像的高度并根据它定位油漆桶

【问题讨论】:

  • 您想在何时何地获取和使用高度?你能用你的代码 sn-p 创建一个小提琴或其他东西吗?
  • 提供小提琴以便我们为您提供帮助

标签: javascript jquery html angularjs


【解决方案1】:

好的,所以我通过这样做解决了这个问题: 首先,我使用@Braden1996 的link 来获取首次加载时img 标签的初始高度

<div style="position:absolute; top:0px; z-index:-1" id="home-carousel" class="carousel slide" data-ride="carousel">

  <!-- Wrapper for slides -->
  <div class="carousel-inner" role="listbox">
    <div ng-repeat="slide in slides track by $index" class="item" ng-class="{active: $index == 0 }">
      <img ng-src="{{slide.imgUrl}}" imageonload="imageLoaded()"><!--here-->
    </div>
  </div>
</div>

这里是javascript:

$scope.imageLoaded = function(){
  $('.grid-container').css('margin-top',$('#home-carousel').height()-100 );
}

之后,每次调整窗口大小时都会更改油漆桶的位置。

$(window).resize(function(){
  $('.grid-container').css('margin-top',$('#home-carousel').height()-100 );
})

注意:-100 是为了让水桶不会落在背景图片的正下方

【讨论】:

    【解决方案2】:

    看看Angular's ng-src
    此外,经过快速搜索,我发现了this - 您可能会觉得它很有用。

    【讨论】:

    • 感谢 ng-src 提示。不能解决这个问题,但比使用 src 更好。
    • 和其他链接也很有帮助。我一直想知道如何检测图像是否已完全加载。再次感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-27
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多