jquery实现图片延时加载,实现原理:不设置img的src地址,把地址存在img的alt中,当img标签出现在可视区域,alt值传给src。为避免看到替换文本alt,把字体的颜色设置为背景的颜色,如果背景不是单一色就给个相近色吧,我把值存在alt里是想兼容IE等浏览器。

如果各位有更好的办法,欢迎留言!

html代码如下:

 
 

 <!doctype html>
<html>
<head>
<script type="text/javascript" src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script type="text/javascript"> $(document).ready(function(){
var body = $("body");
var offset = null;
var src = null;
//获取当前窗口的可见高度
var windowHeigth = $(window).height();
//获取当前窗口的可见宽度
var windowWidth = $(window).width();
body.find("img").each(function(){
//获取图片的src属性
src = $(this).attr("alt");
//获取图片的绝对位置
offset = $(this).offset();
if(offset.left >= $(window).scrollLeft() && offset.top >= $(window).scrollTop() && offset.left <= ($(window).scrollLeft() + windowWidth) && offset.top <= ($(window).scrollTop() + windowHeigth)){
//先隐藏 再淡入
$(this).css("display","none");
$(this).attr("src",src).removeAttr("alt").fadeIn("slow");
}
}); }); $(window).on("scroll",function(){
var body = $("body");
var offset = null;
var src = null;
//获取当前窗口的可见高度
var windowHeigth = $(window).height();
//获取当前窗口的可见宽度
var windowWidth = $(window).width();
body.find("img").each(function(){
//获取图片的src2属性
src = $(this).attr("alt");
if(src){
//获取图片的绝对位置
offset = $(this).offset();
if(offset.left >= $(window).scrollLeft() && offset.top >= $(window).scrollTop() && offset.left <= ($(window).scrollLeft() + windowWidth) && offset.top <= ($(window).scrollTop() + windowHeigth)){
//先隐藏 再淡入
$(this).css("display","none");
$(this).attr("src",src).removeAttr("alt").fadeIn("slow");
}
}
}); }); </script> <style>
#test{width:180px;float:left;}
#test img{width:180px;margin-top:20px;height:100px;float:left;color:#FFF;}
.a{width:2000px;height:200px;float:left;}
</style> </head>
<body>
<div id="test">
<img alt="http://img0.bdstatic.com/img/image/shouye/mxly-9537473768.jpg"/>
<div class="a"></div>
<img alt="http://img0.bdstatic.com/img/image/shouye/mcpwb-9530134528.jpg"/>
<img alt="http://img0.bdstatic.com/img/image/shouye/shouyegx2b.jpg"/>
<img alt="http://img0.bdstatic.com/img/image/shouye/gxxhbjdl-10011146040.jpg"/>
<img alt="http://img0.bdstatic.com/img/image/shouye/sylomo-9367181004.jpg"/>
<img alt="http://img0.bdstatic.com/img/image/shouye/qcqctj-9902962988.jpg"/>
<img alt="http://img0.bdstatic.com/img/image/shouye/qcbaoma3.jpg"/>
<img alt="http://img0.bdstatic.com/img/image/shouye/lypjd54.jpg"/>
<img alt="http://img0.bdstatic.com/img/image/shouye/sjjdsj-4855163457.jpg"/>
<img alt="http://imgstatic.baidu.com/img/image/f9dcd100baa1cd114a9ecc2ebb12c8fcc3ce2d97.jpg"/>
<img alt="http://img0.bdstatic.com/img/image/shouye/jjcy-9567536987.jpg"/>
<div class="a"></div> <div class="a"></div> <div class="a"></div> <div class="a"></div> <div class="a"></div> <div class="a"></div> <div class="a"></div> <div class="a"></div>
<img alt="http://img0.bdstatic.com/img/image/shouye/jjct-10067496396.jpg"/>
<img alt="http://img1.bdstatic.com/img/image/364d6ca7bcb0a46f21f6421031ef4246b600c33ae62.jpg"/>
<img alt="http://img0.bdstatic.com/img/image/shouye/lypjd54.jpg"/>
<img alt="http://img0.bdstatic.com/img/image/shouye/bzxingk.jpg"/>
<div class="a"></div> <div class="a"></div> <div class="a"></div>
<img alt="http://img.baidu.com/img/image/fjbz.jpg"/>
<img alt="http://img0.bdstatic.com/img/image/shouye/bzdwbz-9448009724.jpg"/>
<img alt="http://img0.bdstatic.com/img/image/shouye/bzwmyj-9631167648.jpg"/>
<img alt="http://img0.bdstatic.com/img/image/shouye/dongmanyinhun-9583558925.jpg"/>
<img alt="http://img0.bdstatic.com/img/image/shouye/dmhyrz-9420648415.jpg"/>
<img alt="http://img0.bdstatic.com/img/image/shouye/dmzxh-11569510639.jpg"/> <img alt="http://img0.bdstatic.com/img/image/shouye/bzxingk.jpg"/>
<img alt="http://img.baidu.com/img/image/fjbz.jpg"/>
<img alt="http://img0.bdstatic.com/img/image/shouye/bzdwbz-9448009724.jpg"/>
<img alt="http://img0.bdstatic.com/img/image/shouye/bzwmyj-9631167648.jpg"/>
<div class="a"></div> <div class="a"></div> <div class="a"></div>
<img alt="http://img0.bdstatic.com/img/image/shouye/dongmanyinhun-9583558925.jpg"/>
<img alt="http://img0.bdstatic.com/img/image/shouye/dmhyrz-9420648415.jpg"/>
<img alt="http://img0.bdstatic.com/img/image/shouye/dmzxh-11569510639.jpg"/> </div> </body>
<html>


jquery延迟加载的更多相关文章

  1. jQuery延迟加载(懒加载)插件 – jquery.lazyload.js-Web前端(W3Cways.com) - Web前端学习之路

    Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预 ...

  2. jQuery延迟加载插件(Lazy Load)详解

    最 新版本的Lazy Load并不能替代你的网页.即便你使用JavaScript移除了图片的src属性,有些现代的浏览器仍然会加载图片.现在你必须修改你的html代 码,使用占位图片作为img标签的s ...

  3. jquery延迟加载(懒加载)插件

    Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预 ...

  4. 提取数据库字段里面的值,并改变+图片懒加载,jquery延迟加载

    要求:手机端打开某个页面的详细信息,因为网速或者别的原因,响应太慢,因为图片大的原因,希望先进来,图片在网页运行的情况再慢慢加载(jquer延迟加载) http://www.w3cways.com/1 ...

  5. jQuery延迟加载(懒加载)插件 – jquery.lazyload.js

    引入:<script type="text/javascript" src="${base}/resources/shop/js/jquery.lazyload.j ...

  6. jquery 延迟加载代码

    <!--引入以下两个js文件--> <script type="text/javascript" src="./js/jquery.min.js&quo ...

  7. 使用jQuery延迟加载js文件

    //异步加载js文件并调用函数 function delayCall(calledFunction, funcParams, jsUrl) { if (eval('typeof '+calledFun ...

  8. Lazy Load Plugin for jQuery延迟加载测试成功

    一直需要的功能,网页图片太多时对于降低网络流量超有用. 最新的V1.9.3版本其实已不用修改就可以起作用了. 不用网上说的要自己修改代码.

  9. Jquery 延迟加载框架

    http://www.appelsiini.net/projects/lazyload

随机推荐

  1. VMware安装Linux提示此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态

    问题: 原因: 这是由于没有开启虚拟技术导致的. 解决: 进入电脑BIOS设置,将"Inter Virtual Technology"设置为"Enabled", ...

  2. sqlplus登录时密码有特殊符号解决方法

    偶然百度得到解决方法,在查看了公司有的脚本使用了这种解决方式,特记录下来,有需要的可以点击文末的链接查看原文. 本文转载https://www.cnblogs.com/lhrbest/p/656090 ...

  3. Linux系统学习 十七、VSFTP服务—本地用户访问—用户访问控制

    FTP相关文件中用户控制列表文件 /etc/vsftpd/ftpusers        #该文件永远都是黑名单(针对访问ftp服务,一般不做修改) /etc/vsftpd/user_list     ...

  4. Python学习笔记六(免费获取代理IP)

    为获取网上免费代理IP,闲的无聊,整合了一下,免费从三个代理网站获取免费代理IP,目的是在某一代理网站被限制时,仍可从可以访问的其他网站上获取代理IP.亲测可用哦!^_^  仅供大家参考,以下脚本可添 ...

  5. SA详细注释不压行代码

    ){ //变量含义:m是字符集大小,n是字符串长度,c是一个桶数组,a[i]是字符串(下标从1开始) //rk[i]就是suffix(i)的字典序排名,sa[i]就是要求的排名为i的后缀的起始位置,即 ...

  6. 了解angularjs中的生命周期钩子函数$onInit,$onChange,$onDestory,$postLink

     壹 ❀ 引 我在前面花了三篇文章用于介绍angularjs的指令directive,组件component,并专门花了一篇文章介绍directive与component的不同,其中提到在compon ...

  7. java大数习题

    大数加法,题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002 import java.math.BigInteger; import java.ut ...

  8. PalletOne调色板跨链的BTC实现

    之前已经讲到了PalletOne调色板跨链以太坊ETH和ERC20的技术原理,接下来我们来讲解PalletOne跨链比特币BTC的技术原理. 一.BTC充币 假如用户A持有一定数量的比特币BTC,他希 ...

  9. Java描述设计模式(04):抽象工厂模式

    本文源码:GitHub·点这里 || GitEE·点这里 一.抽象工厂模式 1.生活场景 汽车生产根据用户选择的汽车类型,指定不同的工厂进行生产,选择红旗轿车,就要使用中国工厂,选择奥迪轿车,就要使用 ...

  10. kafka cmd首个单机例子配置

    下载地址:http://kafka.apache.org/downloads       http://mirror.bit.edu.cn/apache/kafka/2.3.0/kafka_2.12- ...