zoukankan      html  css  js  c++  java
  • jquery实现图片预加载

    使用jquery实现图片预加载提高页面加载速度和用户体,本就为大家详细分析jquery图片预加载的实现原理。

    什么时候使用图片预加载?

    如果页面使用了很多不是最初加载便可见的图片,有必要进行预加载:

    $.preloadImages = function () {
    for (var i = 0; i < arguments.length; i++) {
    $('img').attr('src', arguments[i]);
    }
    };
    $.preloadImages('img/hover-on.png', 'img/hover-off.png');

    下面我来介绍一种在实际应用中经常会使用到的js预加载的方法。
    首先在输出图片的时候我们做一些处理<imgdata="这里是我们要显示图片的实际地址"src="这里是一张默认显示的小图片,可以快速加载到页面。可以是所有图片使用统一的图片也可以是要显示图片的缩略图"alt="图片名"/> 处理完html我们开始写js了,在这里我使用了jquery的类库。    

    $('img[data]').load(function(){
    var __this__ = $(this);
    var url = __this__.attr('data');
    var src = __this__.attr('src');
    if(url ==''|| url == src)//这里判断如果图片实际地址不存在或者已经加载不处理
    {
    return;
    }
    var img =newImage();//实例化一个图片的对象
    img.src = url;//将要显示的图片加载进来
    if(img.complete)//如果图片已经加载存在浏览器缓存中直接处理
    {
    __this__.attr('src',url);//将要显示的图片替换过来
    return;
    }
    img.onload =function(){//要显示的图片加载完成后做处理
    __this__.attr('src',url);
    }
    });

  • 相关阅读:
    宏定义问题
    (转载)(int)a、&a、(int)&a、(int&)a的区别,很偏僻的题
    boolalpha的作用
    一些小细节
    HTTP Keep-Alive的作用
    数据库三大范式
    laravel 安装语言包
    MySQL存储引擎中的MyISAM和InnoDB区别详解
    推荐一款超好用的工具cmder
    如何保证代码质量
  • 原文地址:https://www.cnblogs.com/laneyfu/p/5930828.html
Copyright © 2011-2022 走看看