jq 图片懒加载 + Vue-Lazyload

jq原生  图片 懒加载 

<!DOCTYPE html>
<html lang="zh-cn"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head><body><p><img data-url="./assets/logo.png" height="265" alt=""></p><p><img data-url="./assets/logo.png" height="265" alt=""></p><p><img data-url="./assets/logo.png" height="265" alt=""></p><p><img data-url="./assets/logo.png" height="265" alt=""></p><p><img data-url="./assets/logo.png" height="265" alt=""></p><p><img data-url="./assets/logo.png" height="265" alt=""></p><p><img data-url="./assets/logo.png" height="265" alt=""></p><p><img data-url="./assets/logo.png" height="265" alt=""></p><p><img data-url="./assets/logo.png" height="265" alt=""></p><p><img data-url="./assets/logo.png" height="265" alt=""></p><p><img data-url="./assets/QQ截图20230831185438.png" height="265" alt=""></p><p><img data-url="./assets/QQ截图20230831185438.png" height="265" alt=""></p><p><img data-url="./assets/QQ截图20230831185438.png" height="265" alt=""></p><p><img data-url="./assets/QQ截图20230831185438.png" height="265" alt=""></p><p><img data-url="./assets/QQ截图20230831185438.png" height="265" alt=""></p><p><img data-url="./assets/QQ截图20230831185438.png" height="265" alt=""></p><p><img data-url="./assets/QQ截图20230831185438.png" height="265" alt=""></p><p><img data-url="./assets/QQ截图20230831185438.png" height="265" alt=""></p><p><img data-url="./assets/QQ截图20230831185438.png" height="265" alt=""></p><p><img data-url="./assets/QQ截图20230831185438.png" height="265" alt=""></p><p><img data-url="./assets/QQ截图20230831185438.png" height="265" alt=""></p><p><img data-url="./assets/QQ截图20230831185438.png" height="265" alt=""></p><p><img data-url="./assets/QQ截图20230831185438.png" height="265" alt=""></p><p><img data-url="./assets/QQ截图20230831185438.png" height="265" alt=""></p><p><img data-url="./assets/QQ截图20230831185438.png" height="265" alt=""></p><p><img data-url="./assets/QQ截图20230831185438.png" height="265" alt=""></p><p><img data-url="./assets/logo.png" height="265" alt=""></p><p><img data-url="./assets/logo.png" height="265" alt=""></p><p><img data-url="./assets/logo.png" height="265" alt=""></p><p><img data-url="./assets/logo.png" height="265" alt=""></p><p><img data-url="./assets/logo.png" height="265" alt=""></p><p><img data-url="./assets/www.png" height="265" alt=""></p><p><img data-url="./assets/www.png" height="265" alt=""></p><p><img data-url="./assets/www.png" height="265" alt=""></p><p><img data-url="./assets/www.png" height="265" alt=""></p><p><img data-url="./assets/www.png" height="265" alt=""></p><p><img data-url="./assets/www.png" height="265" alt=""></p><p><img data-url="./assets/www.png" height="265" alt=""></p><p><img data-url="./assets/www.png" height="265" alt=""></p><p><img data-url="./assets/www.png" height="265" alt=""></p><p><img data-url="./assets/www.png" height="265" alt=""></p><p><img data-url="./assets/www.png" height="265" alt=""></p><p><img data-url="./assets/www.png" height="265" alt=""></p><p><img data-url="./assets/www.png" height="265" alt=""></p><p><img data-url="./assets/www.png" height="265" alt=""></p><p><img data-url="./assets/www.png" height="265" alt=""></p><p><img data-url="./assets/logo.png" height="265" alt=""></p><p><img data-url="./assets/logo.png" height="265" alt=""></p><p><img data-url="./assets/logo.png" height="265" alt=""></p><p><img data-url="./assets/logo.png" height="265" alt=""></p><p><img data-url="./assets/logo.png" height="265" alt=""></p><p><img data-url="./assets/logo.png" height="265" alt=""></p><p><img data-url="./assets/logo.png" height="265" alt=""></p><script src="https://cdn.bootcss.com/jquery/1.8.0/jquery-1.8.0.min.js"></script><script>// 先调用,保证可视区域的图片显示lazy();function lazy() {var imgS = Array.from($('img'));   // 获取页面 img 元素数组// console.log(imgS)var imgL = $('img').length;  // 获取页面 img 元素数量// console.log(imgL)var seeHeight = $(window).height();  // 获取页面 可视区域高度// console.log(seeHeight)var scrollT = $(document).scrollTop();   // 获取页面滚出 高度// console.log(scrollT)// 开始遍历 这个数组for (var i = 0; i < imgL; i++) {// console.log($(imgS[i]).offset().top + "  /")// console.log(seeHeight + scrollT)// 如果当前元素 出现在可视区域后 if ($(imgS[i]).offset().top < seeHeight + scrollT) {//如果 当前自定义的 url 不为空if ($(imgS[i]).attr("data-url") !== "undefined") {// 把自定义属性地址 赋值给 img.src $(imgS[i]).attr("src", $(imgS[i]).attr("data-url"))}}}}// 用户频繁操作 scroll  不免造成页面性能不佳 此刻当然需要配合 节流 使页面性能更加优化function throttle(fn, delay) {  // 定义的参数函数和延迟时间var begin = new Date();return function () {var curtimer = new Date();var contxt = this,args = arguments;if (curtimer - begin > delay) {  // 时间间隔 > 定义时间 才执行fn.apply(contxt, args);begin = curtimer;}}}$(document).scroll(throttle(lazy, 100)); // 滚动时间 在100ms 内只执行一次</script>
</body></html>

图片懒加载的原理--三种方法实现_图片懒加载的实现原理-CSDN博客


vue-lazyload 安装插件安装

Vue-Lazyload官网: vue-lazyload - npm

Api文档:   IntersectionObserver API 使用教程 - 阮一峰的网络日志 (ruanyifeng.com) 

安装

npm install vue-lazyload --save

# 或者

yarn add vue-lazyload

 main.js

import Vue from 'vue'  
import VueLazyload from 'vue-lazyload'  // 配置项  
const options = {  preLoad: 1.3,  error: 'dist/error.png', // 图片加载失败时显示的图片  loading: 'dist/loading.gif', // 图片加载时显示的图片  attempt: 1 // 尝试加载次数  
}  // 使用插件  
Vue.use(VueLazyload, options)

页面

<template>  <div>  <img v-lazy="imgUrl" />  </div>  
</template>  <script>  
export default {  data() {  return {  imgUrl: 'path/to/your/image.jpg'  }  }  
}  
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/478740.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js数组转字符串

1, array.toString(),将一个数组转化成一个字符串&#xff0c;转换后的类型为string类型&#xff0c;默认用&#xff0c;隔开。 <script type"text/javascript">var a[1,2,3,4,5,6,7,8,9,0];//原数组var ba.toString();console.log(a)console.log(b)console.…

OpenAI视频生成模型Sora的全面解析:从ViViT、Diffusion Transformer到NaViT、VideoPoet

前言 真没想到&#xff0c;距离视频生成上一轮的集中爆发(详见《Sora之前的视频生成发展史&#xff1a;从Gen2、Emu Video到PixelDance、SVD、Pika 1.0》)才过去三个月&#xff0c;没想OpenAI一出手&#xff0c;该领域又直接变天了 自打2.16日OpenAI发布sora以来(其开发团队包…

Soul CEO张璐团队全方位构筑反诈防护网,守护清朗网络空间

最近,随着《孤注一掷》、《鹦鹉杀》等以反映网络诈骗为题材的电影的热映,网络诈骗问题再次引起舆论的广泛关注。面对不断升级的网络诈骗威胁,以及防无可防的“杀猪盘”,普罗大众该如何避免?互联网社交平台又该如何打击网络诈骗,保障用户的社交安全,这都是摆在线上社交平台发展…

近场2D beamforming Heatmap图

文章目录 想法代码目前啥样 想法 参考论文Beam Focusing for Near-Field Multiuser MIMO Communications&#xff0c;可视化beam focusing效应 代码 clc; clear;% 网格范围 D 1; % 整个均匀平面阵列的孔径 lambda 1e-2; % 波长0.01m&#xff0c;单位&#xff1a;米 30GhzN…

Emlog博客网站快速搭建并结合内网穿透实现远程访问本地站点

文章目录 前言1. 网站搭建1.1 Emolog网页下载和安装1.2 网页测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2.Cpolar稳定隧道&#xff08;云端设置&#xff09;2.3.Cpolar稳定隧道&#xff08;本地设置&#xff09; 3. 公网访问测试总结 前言 博客作为使…

图的遍历(广度优先遍历BFS,深度优先遍历DFS)

目录 图的遍历概念&#xff1a; 图的广度优先遍历&#xff08;BFS&#xff09;&#xff1a; 代码实现如下&#xff1a; 测试如下&#xff1a; 注意&#xff1a; 图的深度优先遍历&#xff08;DFS&#xff09;&#xff1a; 代码实现如下&#xff1a; 测试如下&#xff1…

数字孪生核心技术揭秘(五):BIM究竟是解药还是毒药?

一、关于BIM的那些幻想 1.1 BIM是“数字孪生城市”最后一块拼图&#xff1f; 近几年&#xff0c;CIM概念越来越流行&#xff0c;已经成为数字孪生城市的主流数据模型。CIM原始概念指的是“城市信息模型”&#xff1b;2015年同济大学吴志强院士基于CIM概念提出“城市智慧模型”&…

ElscticSearch基础操作

Es数据格式和Mysql对比 ElasticSearch index(索引) Type(类型) Documents(文档) Fields(字段) ​ MySQL Databases(数据库) Table(表) Row(行) Column(列) 倒排索引 正向索引,在Mysql中使用的索引就是正排索引,索引对应的就是直接的数据 例子: id content 1 my name is …

Java系列之 重命名文件/图片,renameTo() 方法的使用

我 | 在这里 &#x1f3e0; 工作 | 广州 ⭐ Java 全栈开发&#xff08;软件工程师&#xff09; ✈️公众号 | 热爱技术的小郑 。文章底部有个人公众号二维码。回复 Java全套视频教程 或 前端全套视频教程 即可获取 300G 教程资料及项目实战案例 &#x1f680; 邮箱 | 297742996…

Linux 主机数据拷贝与 Linux 服务器之间拷贝文件的方法

Linux 主机数据拷贝与 Linux 服务器之间拷贝文件的方法 1. 使用 scp 命令2. 使用 rsync 命令3. 使用 scp 和 rsync 的图形界面工具4. 使用 FTP/SFTP 协议总结与比较 在 Linux 系统中&#xff0c;数据拷贝是日常操作中的常见需求&#xff0c;尤其是在不同主机或服务器之间进行文…

【医学大模型】Text2MDT :从医学指南中,构建医学决策树

Text2MDT &#xff1a;从医学指南中&#xff0c;构建医学决策树 提出背景Text2MDT 逻辑Text2MDT 实现框架管道化框架端到端框架 效果 提出背景 论文&#xff1a;https://arxiv.org/pdf/2401.02034.pdf 代码&#xff1a;https://github.com/michael-wzhu/text2dt 假设我们有一…

CF778A String Game 题解

文章目录 CF778A String Game 题解题面翻译Input DataOutput DataInput Sample 1Output Sample 1题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 样例 #2样例输入 #2样例输出 #2 提示算法&#xff1a;二分代码&#xff1a; CF778A String Game 题解 link 题面翻译 …