Javascript Jquery每个循环都无法提取值,除非使用setTimeout
我构建了一个each循环来调整位于图像顶部的图像标签上的填充。但是,出于某种原因,除非我使用setTimeout函数,否则它只获取前一个或两个值的值。使用setTimeout函数,它可以正常工作 以下是jquery:Javascript Jquery每个循环都无法提取值,除非使用setTimeout,javascript,php,jquery,Javascript,Php,Jquery,我构建了一个each循环来调整位于图像顶部的图像标签上的填充。但是,出于某种原因,除非我使用setTimeout函数,否则它只获取前一个或两个值的值。使用setTimeout函数,它可以正常工作 以下是jquery: $(document).ready( function(){ function imgTagMargin(){ $.each($('.imgHolder'), function (index, value) { var hol
$(document).ready(
function(){
function imgTagMargin(){
$.each($('.imgHolder'), function (index, value) {
var holder_parent = $(value).height();
$('.imgTag', value).css({"padding-top": holder_parent * 0.4})
// console.log('div', index, ':', holder_parent, "for", value);
});
}
setTimeout(imgTagMargin, 200);
});
下面是HTML/Php
<?php while ($galleryWorker = $galleryBoss->fetch_assoc()) { ?>
<div class="imgHolder">
<img src="_images/<?php echo $galleryWorker['thumbURL'];?>"
alt="<?php echo $galleryWorker['imgAlt'];?>"
data-image-full="_images/<?php echo $galleryWorker['imgURL'] ?>" id="thumbnail">
<h4 class="imgTag"><?php echo $galleryWorker['imgAlt']; ?></h4>
</div>
"
alt=“”
数据图像完整=“\u images/”id=“缩略图”>
我在Chrome中使用jquery 1.12.1。我更改了
$(document).ready
到
现在它工作正常。看起来您应该从window onload事件调用
imgTagMargin
,甚至可以从document ready One调用我的错误,我这样做了,但它没有列在代码中。我会更新它。这是因为您的php加载速度比您的代码执行速度慢。请参阅..您可以使用$。ajaxComplete@JFit那篇文章很棒,它引出了我的解决方案。谢谢!
$(window).load