我有一个脚本,将图像添加到某些列。我希望它将图像添加到最小的列。但是,当我试图让列的高度,它总是返回30PX(当然,因为图像是没有加载)如何获取包含动态添加图像的div的高度?
下面是一些代码:
<div id="diaporama-col1" class="col-xs-4">
</div>
<div id="diaporama-col2" class="col-xs-4">
</div>
<div id="diaporama-col3" class="col-xs-4">
</div>
。
var listImgDiaporama=["resources/img/img-1.jpg", "resources/img/img-2.jpg", "resources/img/img-3.jpg", "resources/img/img-4.jpg", "resources/img/img-5.jpg", "resources/img/img-6.jpg", "resources/img/img-7.jpg", "resources/img/img-8.jpg", "resources/img/img-9.jpg", "resources/img/img-10.jpg", "resources/img/img-11.jpg"];
function addImgToDiaporama() {
for (i = 0; i < listImgDiaporama.length; i++) {
var col1Height = $("#diaporama-col1").height();
var col2Height = $("#diaporama-col2").height();
var col3Height = $("#diaporama-col3").height();
if (col1Height <= col2Height && col1Height <= col3Height) {
$("#diaporama-col1").append("<img src=\"" + listImgDiaporama[i] + "\"/>")
} else if (col2Height <= col1Height && col2Height <= col3Height) {
$("#diaporama-col2").append("<img src=\"" + listImgDiaporama[i] + "\"/>")
} else {
$("#diaporama-col3").append("<img src=\"" + listImgDiaporama[i] + "\"/>")
}
}
}
有没有办法让这项工作?
不好意思,问题有点我不清楚。 divs是一样的高度,为什么你需要看到最小的col? – tech2017
您是否试图根据身高来订购图片? –
在加载之前,您无法获取图像的高度。你的循环已经完成很久之前,第一个甚至已经加载。可能需要预先加载你的图片....然后做你正在努力完成的任何事情 – charlietfl