Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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 检查是否使用defect.js加载了所有图像_Javascript_Jquery_Lazy Loading - Fatal编程技术网

Javascript 检查是否使用defect.js加载了所有图像

Javascript 检查是否使用defect.js加载了所有图像,javascript,jquery,lazy-loading,Javascript,Jquery,Lazy Loading,使用 我懒得在一个页面上加载6个图像,我想打印此页面上的图像,但我需要首先强制加载所有图像:这是通过以下方式完成的: $(“img”).trigger(“揭幕”)您可以通过一些jQuery和load事件来实现这一点: jQuery( document ).ready(function($) { var imageContainer = $('#imagecontainer'); var numImages = $('img', imageContainer).length; va

使用

我懒得在一个页面上加载6个图像,我想打印此页面上的图像,但我需要首先强制加载所有图像:这是通过以下方式完成的:


$(“img”).trigger(“揭幕”)您可以通过一些jQuery和
load
事件来实现这一点:

jQuery( document ).ready(function($) {

  var imageContainer = $('#imagecontainer');
  var numImages = $('img', imageContainer).length;
  var numImagesLoaded = 0;

  $('img', imageContainer).on('load', function() {
      numImagesLoaded++;
      if (numImagesLoaded == numImages) {
          runAfterAllImagesLoaded();
      }
  });

  function runAfterAllImagesLoaded()
  {
      alert('hello');
  }
});
下面是一个示例,用于以随机速度加载图像,然后在加载后显示警报:

jQuery(文档).ready(函数($){
var imageContainer=$(“#imageContainer”);
var numImages=$('img',imageContainer).length;
var numImagesLoaded=0;
$('img',imageContainer).each(函数(){
var showtimetime=Math.floor(Math.random()*(5000-1000+1)+1000);
$(this.attr('src','http://deelay.me/“+showtimetime+”/https://placekitten.com/400/200')
});
$('img',imageContainer).on('load',function()){
numImagesLoaded++;
if(numImagesLoaded==numImages){
runAfterAllImagesLoaded();
}
});
函数runAfterAllImagesLoaded()
{
警惕(“你好”);
}
});


$(“img”)。触发(“揭幕”)将导致加载所有图像,因此,在此之后立即打印您的对话框将在触发它们后输出对话框。是的,但在所有图像都有时间加载之前,对话框就会显示出来。如果您想等到一组特定的图像完成加载,您可能需要这样的操作。实际上,我想我找到了答案:在加载函数中包装最后一个图像似乎可以做到这一点。你可能会遇到的问题是,如果他们的最后一个图像(无论出于何种原因)加载速度比其他图像快,你仍然可以在所有图像加载之前获得对话框。谢谢,但它似乎不起作用,甚至你的小提琴也不起作用,它只加载两张图片,永远不会到达runAllImagesLoaded函数。实际上,在safari中,它不起作用,在chrome中起作用。是的,它起作用了,出于某种原因,它没有得到正确的numImages变量。非常感谢。