Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery每个循环都无法提取值,除非使用setTimeout_Javascript_Php_Jquery - Fatal编程技术网

Javascript Jquery每个循环都无法提取值,除非使用setTimeout

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

我构建了一个each循环来调整位于图像顶部的图像标签上的填充。但是,出于某种原因,除非我使用setTimeout函数,否则它只获取前一个或两个值的值。使用setTimeout函数,它可以正常工作

以下是jquery:

$(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