我对简单脚本有疑问:
$(document).ready(function() {
var lastHeight = 0;
$("img").each(function(i) {
if (i != 0) {
$(this).css({
height: lastHeight / 100 * 90
})
}
lastHeight = parseInt($(this).css("height"));
})
});
它应该显示每个图像都小于前一个图像的图像(以百分比表示)。 但我有问题。第一次(没有缓存),我得到一个正常大小的图像,其他图像非常小。如果我重新加载页面(使用缓存),它就可以正常工作。
通过php加载图片:
foreach($top_images as $top_i) {
echo '#'.$ratio;
echo '
<br><img class="top" src="'.$top_i['url'].'" ><br>
';
$ratio++;
}
最佳答案
这可能是因为您在图像完全加载之前运行脚本。
图像尺寸仅在图像加载完成后才可用。
尝试将代码包装在 jquery ready method 中.
$(document).ready(function() {
var lastHeight = 0;
$("img").each(function(i) {
if (i != 0) {
$(this).css({
height: lastHeight / 100 * 90
})
}
lastHeight = parseInt($(this).css('height'));
})
});
关于javascript - 每张图片都比前一张JS少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28675158/