网页图片很多时,加载完后再加载图片(defer:延迟加载)

图片影响页面加载速度,可以先加载完页面,再去加载图片。

defer:告诉浏览器,这里面的js代码不影响网页脚本解析,可以解析完html脚本再执行这段js代码(个人理解)。

网页代码:<img src="grey.gif" data-original="img/53a1820f5866c.png"/>

Js代码:

<script defer="defer" type="text/javascript" >
      $(window).on("load",function(){
        var str=document.getElementsByTagName(‘img‘);
         for(var i=0;i<str.length;i++)//遍历内容块
            {
            str[i].setAttribute(‘src‘,str[i].getAttribute(‘data-original‘));
            }
      });
</script>

时间: 2024-12-12 17:56:46

网页图片很多时,加载完后再加载图片(defer:延迟加载)的相关文章

sharepoint等脚本加载完后再执行对应的方法

ExecuteOrDelayUntilScriptLoaded(myFunction,"sp.js"); //SP.SOD.executeFunc('sp.js', 'SP.ClientContext', myFunction); function myFunction() { //逻辑代码 } 原文地址:https://www.cnblogs.com/learning-life/p/10489959.html

js文件最后加载(在window.load事件发生后再加载js文件),用于解决因jQuery等js库导致网页加载慢的问题

需引入文件:lazyload-min.js <script src="JS/lazyload-min.js" type="text/javascript"></script> 插入代码: function loadscript() { LazyLoad.loadOnce([ 'JS/touch.js', 'http://libs.baidu.com/jquery/1.2.3/jquery.min.js' ], loadComplete); }

HTML页面加载完后,根据内容调整&lt;textarea&gt;元素的高度

假如我的HTML中有一个textarea元素,我想在它加载完成后根据内容调整其高度.怎么做呢? 1. 我定义的textarea元素如下 <textarea class="form-control" type="text" name="value" id="value" placeholder="输入参数值"></textarea> 注意: id = 'value' 这里的关键问题是h

关于 第三方接口支付的时候 采用post提交的方式,有两种 一种是通过 curl来进行,一种是通过js当页面加载完后跳转

这是第一种.通过javascript页面加载完后,对表单采用 post方式提交给 第三方接口----- echo <<<_END<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.

iOS开发小技巧--textField成为密码框,view加载完后textField获取焦点

文本框安全输入:Secure Text Entry(安全文本输入) view加载完后textField获取焦点的正确做法

在iframe内页面完全加载完后,关闭父页面生成的div遮罩层

遮罩层div为iframe父页面生成,需在iframe内页面完全加载完后,关闭遮罩层 alertMsgClose() :函数为关闭遮罩层函数 此段代码在iframe页面内: <script> $(function () { window.parent.alertMsgClose();// iframe 外层页面关闭遮罩层 }); </script> 原文地址:https://www.cnblogs.com/tmdsleep/p/10984450.html

JS如何实现文档加载完成后再去执行代码

JS如何实现文档加载完成后再去执行代码:在执行某些操作的时候,需要当文档完全加载完成之后再去执行,否则可能出现意向不到的情况,先看一段代码实例: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.51texiao.cn/" /> <title&g

iOS AFNetWorking中block执行完后再执行其它操作

需求:同时进行两次网络请求,网络请求是异步的,在网络请求成功后进行其它的操作.两个网络请求是这样,一个网络请求中block执行完之后,再进行其它操作,也是一样的原理,只是这时候不需要线程组了,只需要信号量.当然也适用于所有的block. 接下来就说下,在两次异步请求之后要做的操作. 利用线程组和信号量来完成,看代码 - (void)getData { NSString *appIdKey = @"8781e4ef1c73ff20a180d3d7a42a8c04"; NSString*

图片加载完后执行js

<script>            window.onload=function(){                          var liwidth = $('.imgul li img').width();            $('.imgul li img').height(liwidth);        }    </script>