首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

原生 JS 实现最简单的图片懒加载

懒加载 什么是懒加载 懒加载其实就是延迟加载,是一种对网页性能优化可方式,比如当访问一个页面的时候,优先显示可视区域的图片而不一次性加载所有图片,当需要显示的时候再发送图片请求,避免打开网页时加载过多资源...我们先不给 设置 src,把图片真正的URL放在另一个属性 data-src中,在需要的时候也就是图片进入可视区域的之前,将URL取出放到 src中。...随着滚动条的向下滚动, bound.top会越来越小,也就是图片到可视区域顶部的距离越来越小,当 bound.top===clientHeight时,图片的上沿应该是位于可视区域下沿的位置的临界点,再滚动一点点...,当滚动条滚动时就不需要遍历所有的图片,只需要遍历未加载的图片即可。...,此时浏览器是这样 此时第二张图片完全显示了,而第三张图片显示了一点点,这时候我们看看请求情况 img3的请求发出来,而后面的请求还是没发出~ 全部载入时 当滚动条滚到最底下时,全部请求都应该是发出的

3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    前端-原生JS实现最简单的图片懒加载

    懒加载 ---- 什么是懒加载 懒加载其实就是延迟加载,是一种对网页性能优化的方式,比如当访问一个页面的时候,优先显示可视区域的图片而不一次性加载所有图片,当需要显示的时候再发送图片请求,避免打开网页时加载过多资源...我们先不给 设置 src,把图片真正的URL放在另一个属性 data-src中,在需要的时候也就是图片进入可视区域的之前,将URL取出放到 src中。...随着滚动条的向下滚动, bound.top会越来越小,也就是图片到可视区域顶部的距离越来越小,当 bound.top===clientHeight时,图片的上沿应该是位于可视区域下沿的位置的临界点,再滚动一点点...index,当滚动条滚动时就不需要遍历所有的图片,只需要遍历未加载的图片即可。...img3的请求发出来,而后面的请求还是没发出~ 全部载入时 当滚动条滚到最底下时,全部请求都应该是发出的,如图 ?

    5.1K30

    原生js实现简单移动端轮播图

    最近项目不是很忙,自己就用原生js写了一个简单的移动端轮播图的小demo,可实现自动轮播和手势滑动轮播,然后就把它记录到个人博客里。还有很多不足的地方,希望多多指出,以便改进。...动画结束瞬间定位 * 2.点需要随着轮播的滚动改变对应的点 改变当前样式 当前图片的索引 * 3.手指滑动的时候让轮播图滑动 touch事件 记录坐标轴的改变 改变轮播图的定位...(屏幕的三分之一) * */ var imageCount = 5; //页面中用来轮播的图片有5张不同的 //轮播图大盒子 var banner = document.querySelector...('.banner'); //图片的宽度 var width = banner.offsetWidth; //图片盒子 var imageBox = banner.querySelector...points[index-1].className = "now"; } /* 手指滑动的时候让轮播图滑动 touch事件 记录坐标轴的改变 改变轮播图的定位

    20.7K60

    处理Excel文件最简单、最精致的JS库

    前言 对于Javascript处理 Excel 文件来说,js-xlsx 库是目前 Github 上 star 数量最多的库了,功能非常强大,强大到入门时瑟瑟发抖。文档有些乱,不适合快速上手。...关于 node-xlsx Node-xlsx 是一个Node.js的扩展,通过名字应该能够猜到是干什么的,主要是用于解析和构建 Microsoft Excel 表格,这个插件基于 js-xlsx(也就是上面提到上手难度贼大的那个...node-xlsx 的技术特性 底层基于强大的 SheetJS 构建,对 xlsx 文档的格式兼容性足够好 支持导出和读取 xlsx 文档,一个工具库解决导入导出需求 只有少数几个 api ,使用非常简单...也很简单。...node-xlsx 地址 https://github.com/mgcrea/node-xlsx 注意事项 node-xlsx 只能处理结构相对简单的数据文档,如果数据格式比较复杂,可以到 SheetJS

    4.2K30

    图片轮播(淡入淡出)--JS原生和jQuery实现

    图片轮播(淡入淡出)--js原生和jquery实现 图片轮播有很多种方式,这里采用其中的 淡入淡出形式 js原生和jQuery都可以实现,jquery因为封装了很多用法,所以用起来就简单许多,转换成...但不管怎样,构造一个最基本的表现层是必须的 ? 简单的图片轮播一般由几个部分构成。...对于淡入淡出式 1.首先是个外围部分(其实也就是最外边的整体wrapper) 2.接着就是你设置图片轮播的地方(也就是一个banner吧) 3.然后是一个图片组(可以用新的div 也可以直接使用...吧,放在透明背景层的右下角(div 或 ul-->li) 7.当然了,有些时候还在图片两端放两个箭头   ,指示图片轮播方向(这里先不用,如果要使用也同理) 由此,可以先构造出html结构...-- 最外层部分 --> 轮播部分 --> <!

    24.1K10

    Android:最简单的图片圆角制作(卡片布局)

    在APP中,图片往往设计成圆角,非常美观。 但查阅资料发现实际操作比较复杂,大致有两种方法。 第一种很复杂:在JAVA代码中修改图片的shape,代码难写且冗长。...第二种很滑稽:采用一张透明的View覆盖图片的四角,有些自欺欺人,如果设备不兼容,小动作直接暴露无遗。 突然想到第三种最为简单的方法,使用CardView组件。...如何导入CardView依赖,参见我的上上篇博文Android:最新版CardView的安装和使用 只需要添加 app:cardCornerRadius=“16dp” 这个属性,卡片四角会变圆形 看看效果...: 注:对于图片,xml预览不会直接显示(一开始我以为我的cardview有问题),使用模拟机预览就能看到效果。

    1K30

    js 水平轮播和透明度轮播的实现

    透明度轮播 主要思路:透明度轮播相对水平轮播的实现更简单一点。...首先在HTML里建一个绝对定位的div盒子,然后在这个div盒子里用列表的方式插入四张图片,设置为绝对定位,并且块排列;接着在js中实现动态效果,透明轮播的实现就是将前一张图片的透明度设置为0,需要轮播的那一张图片的透明度设置为...1,在js的对象中实现,最后实现手动点击轮播,子弹轮播,自动轮播。...本次轮播实现借用了上次animate的函数封装 animate.js animate封装代码如下 //返回el对象css样式中的property属性值 function getStyle(el, property...主要思路:水平轮播相对复杂一点,需要计算好图片的排列长度,需要用到一点点小技巧, 怎么来实现最后一张图片轮播后会直接返回到第一张图片?

    12.5K10

    最简单的方式使用原生 js 发送 http 请求

    使用场景 1、检查接口可用性 主要用于在没有引入 jQuery 等工具的页面上需要验证一些 api 能否调得通的时候,可以快速调出浏览器调试界面发请求。 这在判断是否存在跨域问题的场景下,特别好用。...2、验证接口用于爬虫 另外,因为在浏览器调试界面发起的请求跟页面自身的 js 发起的请求是一样的,所以可以不用关心登录状态等上下文环境的问题。...这在写爬虫的时候特别实用——抓到一个链接之后,直接在浏览器上进行验证,先调用一下试试好不好用再说。...3、减少依赖 因为可以直接使用原生 js,因此无需添加 jQuery、axios 等第三方工具就可以发送 http 就请求,可以减少应用的体积。

    13.9K20

    以最简单的登录为例,诠释JS面向对象的简单实例

    十分好用,就开源了,react十分好用,性能也不错,代码逻辑相对来说也挺简单,所以很多人开始用,也有人说这是未来web的趋势 ?...……还有很多各式各样的框架,如今前端正火,甚至还有很多前端游戏引擎的JS,十分强大,在这里就不多说了 好了,貌似有点废话了,那么入正题吧,写JS,其实也要面向对象,在08年小编我刚入坑工作的时候,JS并不受大家重视...,甚至CSS都是让美工人员做的,现在已经大不一样,来看看一个简单的登录是如何用面向对象的方式做的吧: 先来看看登录页面的代码,十分简单,就是一个用户名和密码 ?...重头戏在js部分,我单独写了份login.js ?...作为后端人员,JS其实一定要会,那些页面的逻辑性脚本要会写,其次,jquery要能看懂,要能灵活运用,到最后,要去使用某个js插件的时候你就能灵活运用了,比如jqgrid啦,ztree啦,其实都是如出一辙

    1.1K70
    领券