lazyload图片延迟加载 适用所有类型

关于lazyload图片延迟加载简单介绍

LazyLoad大家再熟悉不 过的一个jquery插件了,它可以延迟加载长页面中的图片. 也就是说在浏览器可视区域外的图片不会被载入,直到用户将页面滚动到它们所在的位置才会加载并显示出来,这和图片预加载的处理方式正好刚好相反。图片不多 的页面时,效果并不太明显,但是当页面大图片比较多的时候,这种效果就比较显著了,明显加快了页面的加载速度。浏览器将会在加载可见图片之后即进入就绪状 态,在某些情况下还可以帮助降低服务器负担。
因此,比较流行的wordpress主题,typecho主题,emlog主题等都使用了lazyload图片延迟加载来实现快速加载页面。

当然啦,你的网站纯文字的,就没必要多搞个jquery插件了。

怎样使用lazyload?

其实很简单,只需在你所使用头部<head></head>标签中插入下面一段代码即可,你也可以添加到footer中。

<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery-lazyload/1.9.5/jquery.lazyload.min.js"></script>
    <script type="text/javascript">
      jQuery(function() {          
          jQuery("img").lazyload({
            placeholder:"https://cdn.aeink.com//content/templates/emlog_dux/images/loading.gif",
              effect:"fadeIn"
            });
          });
</script> 

以我的网站和现在使用的emlog大前端举例子,我是习惯把js添加到底部的,路径在/content/templates/emlog_dux/footer.php,把前面的代码添加到</body>标签前面就OK了。
如果你是其他主题的,找到footer.php文件,一般是在templates/你的主题/路径下,把上述的代码添加进去就行了。
若是使用了wordpress,typecho,emlog等其他博客后台的,也差不多这样改,往你的主题模板</head>或者</body>前上述代码即可。
如果你希望没看到图片前先加载200px,可以通过设置阀值来控制,具体实现:

jQuery("img").lazyload({ threshold : 200 });

上面代码比较通用,基本满足你的网站图片延迟加载需求。
值得一提的是:

  1. lazyload依赖jquery,如果你的站点没引用juery,请先引入jquery。

  2. 在上述代码中,img是延迟加载所有图片,这里你可以根据不同模板作相应改动。比如我现在使用的大前端主题,可以改成.container img,这样更改后,只延迟加载.container容器内的图片,否则主题侧边的头像和协议图片也跟着延迟加载,等最后才加载出来。所以和我一样使用大前端主题的最后把jQuery("img")改成jQuery(".container img")。使用其他模板的根据不同模板实际显示效果自行更改。

转载请注明出处 AE博客|墨渊 » lazyload图片延迟加载 适用所有类型

发表评论

路人甲

网友评论(6)

##这篇评论是私密评论##
若梦 3年前 (2022-01-02) 回复
@若梦:啥会刷新两遍
墨渊 3年前 (2022-01-02) 回复
##这篇评论是私密评论##
若梦 3年前 (2022-01-02) 回复
@若梦:谁的回调
墨渊 3年前 (2022-01-02) 回复
##这篇评论是私密评论##
若梦 3年前 (2022-01-02) 回复
@若梦:最好是
墨渊 3年前 (2022-01-02) 回复