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. 表单生成器(Form Builder)之伪造表单数据mongodb篇

    这篇文章终于回到了正轨:为mongodb伪造数据.之前的随机数.随机车牌照.随机时间还有这篇笔记中的获取指定长度的中文字符串,都是为这篇笔记做准备.看一下我们的准备(基础代码) // 1.获取指定范围 ...

  2. Hazelcast介绍

    Hazelcast介绍 什么时侯需要用例 内存中分布式计算 场景分布式消息 特性 全景 Distributed Maps 一个结点中分区 Hazelcast中的分片也称为分区,Hazelcast默认2 ...

  3. 我想外包开发一个APP,需要多少钱,多少时间?

    在一个阳光明媚的下午,我正瘫坐在椅子上改bug.忽然有人给我发微信:“我想做个app,多长时间,多少钱?” 从我从业iOS开发到现在,这个问题被问过无数次,比那句:“你是程序员,那你会修电脑吗?”还要 ...

  4. 用dotnet core搭建web服务器(二)路由表与封装

    https://gitee.com/lightsever/netcore_study/tree/master/server02_path 先上代码,首先我们把httpserver封装一下,以后用起来方 ...

  5. Centos7下Redis设置开机自启动服务

    有个同事说重启了服务器没有自启动redis,我看了一下,是以前手动编译安装的模式,没有配置开机启动的服务 这边做个笔记记录一下redis如何设置编译安装模式的开机自启动. 第一种方法: 1.编写red ...

  6. Java 的核心目的和并发编程

    读一本书,最好能从它的前言开始.那么我们就来看看<Java编程思想>作者 Bruce Eckel 在前言里都说了些什么吧. 01.Java 的核心目的是"为程序员减少复杂性&qu ...

  7. Java题库——Chapter11 继承和多态

    1)Analyze the following code: public class Test { public static void main(String[ ] args) { B b = ne ...

  8. 【TencentOS tiny】深度源码分析(5)——信号量

    信号量 信号量(sem)在操作系统中是一种实现系统中任务与任务.任务与中断间同步或者临界资源互斥保护的机制.在多任务系统中,各任务之间常需要同步或互斥,信号量就可以为用户提供这方面的支持. 抽象来说, ...

  9. 连接SpringBootAdmin 异常 Name or service not known

    环境: 服务器:Linux 客户端:Windows 当客户端连接到SpringBootAdmin的时候,报了如下异常 明明显示可以连接了,但是就是报了客户端INSTANCE DOWN   (down机 ...

  10. selenium设置谷歌无头浏览器

    from selenium import webdriver from selenium.webdriver.chrome.options import Options def Browse(): c ...