繁体   English   中英

加载其他所有内容后如何加载图像?

[英]how to load images after everything else is loaded?

我有一些想法,要在原始图像完成加载之前在div上加载伪图像,并且要在winodws加载之后加载div。帮我解决这段代码。 我的html部分是

<div class="myimage"><img src="myimage.jpg" /></div>

注意:技巧是仅在临时img. $(img).load(fn);加载该源时设置src属性img. $(img).load(fn); img. $(img).load(fn); 处理。

$(function(){
        $.each(document.images, function(){
                   var this_image = this;
                   var src = $(this_image).attr('src') || '' ;
                   if(!src.length > 0){
                       //this_image.src = options.loading; // show loading........
                       var lsrc = $(this_image).attr('lsrc') || '' ;
                       if(lsrc.length > 0){
                           var img = new Image();
                           img.src = lsrc;
                           $(img).load(function() {
                               this_image.src = this.src;
                           });
                       }
                   }
               });
      });

您可以使用data属性来执行此操作:

<div class="myimage"><img data-orig="original.jpg" src="fake.jpg" /></div>

$(window).load(function(){
  $('.myimage img').attr("src", $(this).data('orig')).removeAttr('data-orig');
});

您可以将图像url添加到自定义data-url属性,并使图像url为base64 1x1 gif。 然后,当页面完全加载时,您可以从中获取URL。 基本上就是这样。

<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-src="original-image.png" />

$(window).load(function() {

   $("img").each(function() {
     $(this).attr("src", $(this).attr("data-src"));
   });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM