jquery图片懒加载效果
1.要引入jquery
2.要引入underscore.js
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jquery 图片懒加载</title>
</head>
<body>
<img src="http://img.lanrentuku.com/img/allimg/1212/5-121204193R0-50.gif" data-src="https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1540274976&di=68061376df27b04b7032d09fb79bd9b9&src=http://media-cdn.tripadvisor.com/media/photo-s/01/10/83/ba/reflection-of-matterhorn.jpg">
<P>1111111111111111111111111111111111111111111111</P>
<img src="http://img.lanrentuku.com/img/allimg/1212/5-121204193R0-50.gif" data-src="https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1540274976&di=68061376df27b04b7032d09fb79bd9b9&src=http://media-cdn.tripadvisor.com/media/photo-s/01/10/83/ba/reflection-of-matterhorn.jpg">
<P>sssssssssssssssssssss照片,画像; 图画,图片; 影片; 情景;sssssssssssssssssssss照片,画像; 图画,图片; 影片; 情景;sssssssssssssssssssss照片,画像; 图画,图片; 影片; 情景;sssssssssssssssssssss照片,画像; 图画,图片; 影片; 情景;sssssssssssssssssssss照片,画像; 图画,图片; 影片; 情景;sssssssssssssssssssss照片,画像; 图画,图片; 影片; 情景;sssssssssssssssssssss照片,画像; 图画,图片; 影片; 情景;sssssssssssssssssssss照片,画像; 图画,图片; 影片; 情景;sssssssssssssssssssss照片,画像; 图画,图片; 影片; 情景;sssssssssssssssssssss照片,画像; 图画,图片; 影片; 情景;sssssssssssssssssssss照片,画像; 图画,图片; 影片; 情景;</P>
<img src="http://img.lanrentuku.com/img/allimg/1212/5-121204193R0-50.gif" data-src="https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1540274976&di=68061376df27b04b7032d09fb79bd9b9&src=http://media-cdn.tripadvisor.com/media/photo-s/01/10/83/ba/reflection-of-matterhorn.jpg">
<img src="http://img.lanrentuku.com/img/allimg/1212/5-121204193R0-50.gif" data-src="https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1540274976&di=68061376df27b04b7032d09fb79bd9b9&src=http://media-cdn.tripadvisor.com/media/photo-s/01/10/83/ba/reflection-of-matterhorn.jpg">
<P>1111111111111111111111111111111111111111111111</P>
<img src="http://img.lanrentuku.com/img/allimg/1212/5-121204193R0-50.gif" data-src="https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1540274976&di=68061376df27b04b7032d09fb79bd9b9&src=http://media-cdn.tripadvisor.com/media/photo-s/01/10/83/ba/reflection-of-matterhorn.jpg">
<P>sssssssssssssssssssss照片,画像; 图画,图片; 影片; 情景;sssssssssssssssssssss照片,画像; 图画,图片; 影片; 情景;sssssssssssssssssssss照片,画像; 图画,图片; 影片; 情景;sssssssssssssssssssss照片,画像; 图画,图片; 影片; 情景;sssssssssssssssssssss照片,画像; 图画,图片; 影片; 情景;sssssssssssssssssssss照片,画像; 图画,图片; 影片; 情景;sssssssssssssssssssss照片,画像; 图画,图片; 影片; 情景;sssssssssssssssssssss照片,画像; 图画,图片; 影片; 情景;sssssssssssssssssssss照片,画像; 图画,图片; 影片; 情景;sssssssssssssssssssss照片,画像; 图画,图片; 影片; 情景;sssssssssssssssssssss照片,画像; 图画,图片; 影片; 情景;</P>
<img src="http://img.lanrentuku.com/img/allimg/1212/5-121204193R0-50.gif" data-src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1540880384&di=feadac6ce146caec60eaeac92aca9939&imgtype=jpg&er=1&src=http%3A%2F%2Fwenwen.soso.com%2Fp%2F20100523%2F20100523163327-1276922906.jpg">
<img src="http://img.lanrentuku.com/img/allimg/1212/5-121204193R0-50.gif" data-src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1540285716317&di=0273cbe192e5b70f71809259482f70f0&imgtype=0&src=http%3A%2F%2Fwww.27209808.hk%2Fupfile%2F2018%2F5a1321878bfa8f11ed00b09711a1929f.jpg" alt="">
<script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="https://underscorejs.org/underscore.js"></script>
<script>
// 注意: 需要引入jQuery和underscore
$(function(){
// 获取window的引用:
var $window = $(window);
// 获取包含data-src属性的img,并以jQuery对象存入数组:
var lazyImgs = _.map($('img[data-src]').get(), function (i) {
return $(i);
});
// 定义事件函数:
var onScroll = function() {
// 获取页面滚动的高度:
var wtop = $window.scrollTop();
// 判断是否还有未加载的img:
if (lazyImgs.length > 0) {
// 获取可视区域高度:
var wheight = $window.height();
// 存放待删除的索引:
var loadedIndex = [];
// 循环处理数组的每个img元素:
_.each(lazyImgs, function ($i, index) {
// 判断是否在可视范围内:
if ($i.offset().top - wtop < wheight) {
// 设置src属性:
$i.attr('src', $i.attr('data-src'));
// 添加到待删除数组:
loadedIndex.unshift(index);
}
});
// 删除已处理的对象:
_.each(loadedIndex, function (index) {
lazyImgs.splice(index, 1);
});
}
};
// 绑定事件:
$window.scroll(onScroll);
// 手动触发一次:
onScroll();
})
</script>
</body>
</html>
jquery图片懒加载效果的更多相关文章
- jQuery图片懒加载插件jquery.lazyload.js使用实例注意事项说明
jQuery图片懒加载插件jquery.lazyload.js使用实例注意事项说明 jquery.lazyload.js是一个用JavaScript编写的jQuery插件.它可以延迟加载长页面中的图片 ...
- jquery 图片懒加载
jquery 图片懒加载 CreationTime--2018年7月1日14点45分 Author:Marydon 1.源码展示 (function(a){a.fn.lazyload=functi ...
- jq demo 简单的图片懒加载效果
重点:在元素进入可视区域后,把图片元素的 _src 的值,赋值给 src <!DOCTYPE HTML> <html> <head> <meta http-e ...
- jQuery图片懒加载lazyload插件
http://www.neoease.com/lazy-load-jquery-plugin-delay-load-image/ js 模板引擎
- 使用jQuery实现图片懒加载原理
原文:https://www.liaoxuefeng.com/article/00151045553343934ba3bb4ed684623b1bf00488231d88d000 在网页中,常常需要用 ...
- 如何在小程序实现图片lazy-load懒加载效果
自从跳一跳出现之后小程序又开始频繁出现了,在学习过程中发现小程序虽然好但是由于api不完善导致开发过程中有很多的坑,重点是网上相对小程序出现坑时解决方案显然比较少,小程序最让人觉得痛心疾首之一就是无法 ...
- lazy图片懒加载使用
看到一个小伙子写的言简意赅很不错,摘录如下: https://www.npmjs.com/package/vue-lazyload 首先我们先在npm上下载vue-lazyload的包 1 npm i ...
- js 函数的多图片懒加载(lazy) 带插件版完整解析
前言: 本人纯小白一个,有很多地方理解的没有各位大牛那么透彻,如有错误,请各位大牛指出斧正!小弟感激不尽. 本篇文章为您分析一下原生JS实现图片懒加载效果 页面需求 1 ...
- [jQuery插件]手写一个图片懒加载实现
教你做图片懒加载插件 那一年 那一年,我还年轻 刚接手一个ASP.NET MVC 的 web 项目, (C#/jQuery/Bootstrap) 并没有做 web 的经验,没有预留学习时间, (作为项 ...
随机推荐
- Centos7.x 执行top命令教程
一.作用 top命令用来显示执行中的进程,使用权限是所有用户 二.格式 top [-] [d delay] [q] [c] [S] [s] [i] [n] 三.命令参数解释 d:指定更新的间隔,以秒计 ...
- 【Unity】UGUI无法修改UI元素的Pivot锚点位置
如下图,要点击切换左边的Toggle按钮变为Pivot才可以编辑Pivot! 参考: https://answers.unity.com/questions/871238/cant-change- ...
- 缓存Memcached 与 Redis 相同点差异点分析
memcach简介 Memcache时一个内存对象缓存系统,用于加速动态web应用程序,减轻数据库负载.它可以应对任意多个连接,使用非阻塞的网络I/O,工作机制:在内存中开辟一块空间,然后建立一个ha ...
- WebSphere集群环境修改IHS端口号的方法 分类: WebSphere 2015-08-06 13:41 14人阅读 评论(0) 收藏
参考资料:http://wenku.baidu.com/link?url=E9BkuEjJ16i9lg7l91L0-xhKCYkHV0mAnlwAeSlDCFM4TjZyk4ZVxmUu64BGd4F ...
- MSP MCU I2C入门指南
这是一份介绍性指南,指导你如何用超低功耗MSP微控制器 (MCU) 开始一个与I2C通信有关的项目: 简介 I2C(或称为I2C,集成电路总线)是一种两线制通信形式,主要用来在短距离.电路板间的应用中 ...
- MySQL 5.7.19 忘记密码 重置密码 配置文件my.ini示例 服务启动后停止 log配置
[参考]java 项目 存入mysql后 变问号 MySql 5.6 (X64) 解压版 1067错误与编码问题的解决方案 一.my.ini 的mysqld下添加 skip-grant-tables ...
- Angular4学习笔记(六)- Input和Output
概述 Angular中的输入输出是通过注解@Input和@Output来标识,它位于组件控制器的属性上方. 输入输出针对的对象是父子组件. 演示 Input 新建项目connInComponents: ...
- LVS DR模式搭建 keepalived lvs
LVS DR模式搭建• 三台机器 • 分发器,也叫调度器(简写为dir)172.16.161.130 • rs1 172.16.161.131 • rs2 172.16.161.132 • vip 1 ...
- 小程序url传参如何写变量
<navigator url="../../pages/newsDetail/newsDetail?id={{news.id}}"> <view class=&q ...
- [Tensorflow] Cookbook - Object Classification based on CIFAR-10
Convolutional Neural Networks (CNNs) are responsible for the major breakthroughs in image recognitio ...