У меня есть карусель, изображения которого создаются с помощью 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 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>
EDIT: Ладно, позвольте мне уточнить. Это то, чего я пытаюсь достичь: поэтому изображения ведер краски должны быть выровнены точно так, как это выглядит на этом изображении; прямо внизу, где заканчивается фоновое изображение
Проблема в том, что ширина изображения составляет 100%, при изменении размера окна это происходит. Так что я хочу сделать, это получить высоту img-изображений в карусели и поместить ковш для краски на основе этого
Хорошо, поэтому я решил это, выполнив это: во-первых, я использовал ссылку @Braden1996, чтобы получить начальную высоту тега 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 );
})
NB: -100
- это то, что ведро не падает прямо под фоновым изображением
Посмотрите на Angular ng-src.
Кроме того, после быстрого поиска я натолкнулся на это, что может показаться вам полезным.