Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.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中?_Javascript_Ruby On Rails_Image_Load - Fatal编程技术网

如何知道文档中的所有图像何时加载到Javascript中?

如何知道文档中的所有图像何时加载到Javascript中?,javascript,ruby-on-rails,image,load,Javascript,Ruby On Rails,Image,Load,我正在使用Ruby On Rails的ajax函数重新加载内容,我正在将部分重新加载到div中,我想知道所有图像何时加载,因为现在我有以下几点: $(document).ready(function(){ $("img").load(function(){ alert("ok?"); }); }); 但有了这个,我一直在为这部分的每一张图片获取alet 我不知道如果有一个像$(allimgs)之类的选择器,当所有图像都被加载时,我需要做什么才能捕获 非常感谢。如

我正在使用Ruby On Rails的ajax函数重新加载
内容,我正在将
部分
重新加载到
div
中,我想知道所有图像何时加载,因为现在我有以下几点:

$(document).ready(function(){
    $("img").load(function(){
        alert("ok?");
    });
});
但有了这个,我一直在为这部分的每一张图片获取alet

我不知道如果有一个像
$(allimgs)
之类的选择器,当所有图像都被加载时,我需要做什么才能捕获


非常感谢。

如果您希望确保加载的所有图像都没有错误,您必须自己滚动。如果没有,您可以使用.load,如图所示,在浏览器加载完资源后将触发该命令

要自己滚动,请执行以下操作:

 $(document).ready(function(){
    var imgs = $("img"), cnt = imgs.length;

    imgs
    .load(function(){
      if(!--cnt) {
        /* all images loaded */
      }
    })
    .error(function() { /* whoops an image failed to load */});
  });

如果您希望确保加载的所有图像没有错误,您必须自己滚动。如果没有,您可以使用.load,如图所示,在浏览器加载完资源后将触发该命令

要自己滚动,请执行以下操作:

 $(document).ready(function(){
    var imgs = $("img"), cnt = imgs.length;

    imgs
    .load(function(){
      if(!--cnt) {
        /* all images loaded */
      }
    })
    .error(function() { /* whoops an image failed to load */});
  });

您可能需要使用图像加载插件,以确保您的代码处理缓存的图像等

然后是你的代码

var total_number_of_images  = $("img").length;
var loaded_images = 0;

$("img").load(function(){
               loaded_images++;
if loaded_images =   total_number_of_images {
// do something ...

}              });

您可能需要使用图像加载插件,以确保您的代码处理缓存的图像等

然后是你的代码

var total_number_of_images  = $("img").length;
var loaded_images = 0;

$("img").load(function(){
               loaded_images++;
if loaded_images =   total_number_of_images {
// do something ...

}              });
将执行以下操作: 首先,我们计算页面中有多少img,每个img加载将使计数减少1,当它为0时,意味着所有图像都已加载

 $(document).ready(function(){
     var allimgs = $("img");
     var count = allimgs.length;

     allimgs.load(function(){
          if(--count == 0) {
              alert("all images are loaded");
          }
     })
  });

**已编辑**

如果浏览器正在缓存图像,请尝试以下操作:

 $(document).ready(function(){
     var allimgs = $("img");
     var count = allimgs.length;

      $("img").one('load', function() {
           count--;
           if(count == 0) {
              alert("all images are loaded");
           }
      }).each(function() {
           if(this.complete) $(this).load();
      });
  });
将执行以下操作: 首先,我们计算页面中有多少img,每个img加载将使计数减少1,当它为0时,意味着所有图像都已加载

 $(document).ready(function(){
     var allimgs = $("img");
     var count = allimgs.length;

     allimgs.load(function(){
          if(--count == 0) {
              alert("all images are loaded");
          }
     })
  });

**已编辑**

如果浏览器正在缓存图像,请尝试以下操作:

 $(document).ready(function(){
     var allimgs = $("img");
     var count = allimgs.length;

      $("img").one('load', function() {
           count--;
           if(count == 0) {
              alert("all images are loaded");
           }
      }).each(function() {
           if(this.complete) $(this).load();
      });
  });

你到底在用这段代码做什么,你是通过Ajax加载它的吗?问题是,它是否太频繁触发?附加到imgYeas的最后一个子项上完成/加载我通过Ajax加载此代码您到底在使用此代码做什么,您是通过Ajax加载的吗?有什么问题吗,它是否太频繁了?连接到imgYeas的最后一个子项上完成/加载我正在通过Ajax加载此文件此文件正在工作,但缓存的图像有问题,他们没有触发事件答案我给了你我的投票,但另一个答案看起来更像我的最终代码,但这一个和另一个答案一样工作,这一个工作正常,但我对缓存的图像有问题,他们没有触发事件答案我给了你我的投票,但另一个答案似乎更像我的最终代码,但这一个和另一个答案一样正确。这一个看起来更像我的最终代码,但其他所有答案都是有效代码!这一个看起来更像我的最终代码,但每个其他答案都是工作代码!我试图编辑您的代码,它缺少条件括号和另一个与比较相等的符号,但我现在没有编辑权限我试图编辑您的代码,它缺少条件括号和另一个与比较相等的符号,但我现在没有编辑权限