zoukankan      html  css  js  c++  java
  • jQuery 实现图片延时加载提升网站速度

    原理:通过 jQuery 插件 lazyload 使得在浏览器可见区域外的图片不会被加载,当图片被用户滚动到浏览器可见区域时图片才进行加载,有点类似使用 Google 搜索图片时的效果。很明显,通过使用图片延时加载可以提高页面的加载速度。

    使用 lazyload 插件非常简单,这也是插件的目的所在。首先引入 jQuery 文件和插件文件,这个不再多说,可以在演示页里找到文件的引用方法。

    接下来,看看调用插件的方法,如下:


    <script type="text/javascript">
    $(document).ready(function() {
    $("img").lazyload({
    effect: "fadeIn"
    });
    });
    </script>

    到这里其实就已经实现了我们想要的效果,图片将会以 fadeIn 形式被载入。当然,插件提供了其他的选项,以下是网络上找的一点资料,如果你想继续深入了解的话,请继续往下看:

    1.可以设置阀值来控制 灵敏度,下边代码把阀值设置成200 表明当图片没有看到之前先load 200像素。


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

    2.可以通过设置占位符图片和自定事件来触发加载图片事件


    $("img").lazyload({
    placeholder: "img/grey.gif",
    event: "click"
    });

    3.事件触发加载,事件可以是任何 jQuery 时间, 如: click 和 mouseover. 你还可以使用自定义的事件, 如: sporty 和 foobar. 默认情况下处于等待状态, 直到用户滚动到窗口上图片所在位置. 在灰色占位图片被点击之前阻止加载图片, 你可以这样做:


    $("img").lazyload({
    placeholder: "img/grey.gif",
    event: "click"
    });

    延迟加载图片,Lazy Load 插件的一个不完整的功能, 但是这也能用来实现图片的延迟加载. 下面的代码实现了页面加载完成后再加载. 页面加载完成 5 秒后, 指定区域内的图片会自动进行加载.


    $(function() {
    $("img:below-the-fold").lazyload({
    placeholder: "img/grey.gif",
    event: "sporty"
    });
    });
    $(window).bind("load", function() {
    var timeout = setTimeout(function() {
    $("img").trigger("sporty") }, 5000);
    });
    只有想不到,没有做不到!!!
    鸿鹄IT网络学院
  • 相关阅读:
    Spring总结(三)
    lucene全文检索
    知识点
    postman本地测试post接口
    第一份任务,写接口验证接口写文档
    spring Date JPA的主要编程接口
    springmvc之格式化要显示的小数或者日期。
    限制action所接受的请求方式或请求参数
    正则表达式映射
    Url通配符映射
  • 原文地址:https://www.cnblogs.com/zhongbin/p/3197728.html
Copyright © 2011-2022 走看看