jquery延迟加载
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延迟加载的更多相关文章
- jQuery延迟加载(懒加载)插件 – jquery.lazyload.js-Web前端(W3Cways.com) - Web前端学习之路
Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预 ...
- jQuery延迟加载插件(Lazy Load)详解
最 新版本的Lazy Load并不能替代你的网页.即便你使用JavaScript移除了图片的src属性,有些现代的浏览器仍然会加载图片.现在你必须修改你的html代 码,使用占位图片作为img标签的s ...
- jquery延迟加载(懒加载)插件
Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预 ...
- 提取数据库字段里面的值,并改变+图片懒加载,jquery延迟加载
要求:手机端打开某个页面的详细信息,因为网速或者别的原因,响应太慢,因为图片大的原因,希望先进来,图片在网页运行的情况再慢慢加载(jquer延迟加载) http://www.w3cways.com/1 ...
- jQuery延迟加载(懒加载)插件 – jquery.lazyload.js
引入:<script type="text/javascript" src="${base}/resources/shop/js/jquery.lazyload.j ...
- jquery 延迟加载代码
<!--引入以下两个js文件--> <script type="text/javascript" src="./js/jquery.min.js&quo ...
- 使用jQuery延迟加载js文件
//异步加载js文件并调用函数 function delayCall(calledFunction, funcParams, jsUrl) { if (eval('typeof '+calledFun ...
- Lazy Load Plugin for jQuery延迟加载测试成功
一直需要的功能,网页图片太多时对于降低网络流量超有用. 最新的V1.9.3版本其实已不用修改就可以起作用了. 不用网上说的要自己修改代码.
- Jquery 延迟加载框架
http://www.appelsiini.net/projects/lazyload
随机推荐
- 【Cocos谁学谁会】定制属于自己的脚本模板
版权申明: 本文原创首发于以下网站,您可以自由转载,但必须加入完整的版权声明 博客园:https://www.cnblogs.com/MogooStudio/ csdn博客:https://blog. ...
- Firefox 印象笔记剪藏插件登录国内账号
0x00 事件 俺使用的 Firefox 不是中文简体的语言,安装了剪藏插件之后,始终无法在插件中登录国内账号,也没有选项,一点击插件图标: 在查找了一些内容之后,在知乎找到一个解决方案,能开启「 切 ...
- STM32 HAL_Deleay() 函数 导致程序卡死
出现问题场景: 我的程序有RTOS操作系统.使用的驱动库是STM32官方最新的HAL库. 移植好LwIP以太网协议后,在初始化网卡阶段程序卡死. 出现问题原因: 后经过蠢笨的printf打 ...
- leetcode-10
给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配. '.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的 ...
- Java之Lambda表达式
函数式编程思想概述 面向对象过分强调“必须通过对象的形式来做事情”,而函数式思想则尽量忽略面向对象的复杂语法——强调做什么,而不是以什么形式做. 面向对象的思想: 做一件事情,找一个能解决这个事情的对 ...
- Java之继承性
为什么要有继承 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那一个类即可.其中,多个类可以称为子类,单独那一个类称为父类.超类或者基类. 继 ...
- 02-Nginx配置
一.Nginx配置 1.创建Nginx运行使用的用户 www: / usr / sbin / groupadd www / usr / sbin / useradd -g www www 2.检查配置 ...
- Centos 7 下安装 Jenkins
Jenkins介绍 Jenkins是一个开源的支持自动化构建.部署等任务的平台.基本上可以说是持续集成(CI).持续发布(CD)不可或缺的工具. 安装Java环境 CentOS 7 安装 JAVA环境 ...
- SpringCloud微服务(01):Eureka组件,管理服务注册与发现
本文源码:GitHub·点这里 || GitEE·点这里 一.Eureka基本架构 1.Eureka简介 Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,SpringCl ...
- react使用moment进行日期格式化
导入moment import moment from 'moment'; 使用方式 年月日,时分秒 moment().format('YYYY-MM-DD HH:mm:ss'); // 2019-0 ...