我需要获取加载到轮播中的每个图像的宽度,以便在图像上浮动徽标并进行一些 CSS 调整。使用的 jQuery 只会抓取第一张幻灯片的宽度,所有其他幻灯片都返回 0 的宽度。我想也许 Bootstrap Carousel 延迟加载图像,但似乎没有达到“load()”函数全部。如何获得所有图像的宽度?
小提琴在这里说明了这个问题:http: //jsfiddle.net/7SwtW/6/
console.log($('.item:eq(0) img').width()); //gets the correct width: 301
console.log($('.item:eq(1) img').width()); //gets 0
console.log($('.item:eq(2) img').width()); //gets 0
$('.item:eq(0) img').load(function () {
//doesn't get here
imgWidth = $(this).width();
console.log(imgWidth);
});
$('.item:eq(1) img').load(function () {
//doesn't get here
imgWidth = $(this).width();
console.log(imgWidth);
});
$('.item:eq(2) img').load(function () {
//doesn't get here
imgWidth = $(this).width();
console.log(imgWidth);
});