JS实现图片延迟加载并淡入淡出效果的简单方法
话不多说,直接看示例
首先是图片标记的写法
<img data-src="/images/image.jpg" alt="">
需要将图片的地址放到 data-src
属性里,而src
值不需要,直接将src
属性去掉。
CSS代码
所有具有data-src
属性的图片,我们将其初始显示状态为不可见,通过透明度来调节:
img { opacity: 1; transition: opacity 0.3s; } img[data-src] { opacity: 0; }
这样写的作用是什么?等当图片加载时,你就能看的效果了。
JavaScript代码
我们最终会将 data-src
属性去掉,换成src属性,但这是图片加载成功后的动作:
[].forEach.call(document.querySelectorAll('img[data-src]'), function(img) { img.setAttribute('src', img.getAttribute('data-src')); img.onload = function() { img.removeAttribute('data-src'); }; });
相比起其它各种的图片延迟加载技术,这种方法非常的简单,它几乎不要求其它任何条件,可以用在任何地方,使用起来非常灵活。
但是要注意的是,简单有简单的好坏,也会因为简单而不足。它不具有图片图片滚动到可视窗口内再加载的功能。最终使用哪种技术,还是要看场景而定。
以上就是本文的全部内容,希望对大家的工作和学习能有所帮助。
相关推荐
-
原生js实现fadein 和 fadeout淡入淡出效果
js里面设置DOM节点透明度的函数属性:filter= "alpha(opacity=" + value+ ")"(兼容ie)和opacity=value/100(兼容FF和GG). 先来看看设置透明度的兼容性代码: 复制代码 代码如下: function setOpacity(ele, opacity) { if (ele.style.opacity != undefined) { ///兼容FF和GG和新版本IE ele.style.opacity = opac
-
JS实现淡入淡出图片效果的方法分析
本文实例讲述了JS实现淡入淡出图片效果的方法.分享给大家供大家参考,具体如下: 效果:鼠标移入时,图片由半透明逐渐变成清晰,移出时,由清晰变为半透明 分析:用变量来储存透明度,因为元素.style.alpha不能直接增加或减少 核心代码: window.onload=function(){ var oDiv=document.getElementById("div1"); var timer=null; var alpha=30; oDiv.onmouseover=function()
-
js运动框架_包括图片的淡入淡出效果
复制代码 代码如下: <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><font face="Verdana, Geneva, sans-serif"></font>&l
-
js淡入淡出的图片轮播效果代码分享
本文实例讲述了淡入淡出的js图片轮播效果代码.分享给大家供大家参考.具体如下: 运行效果图:----------------------查看效果----------------------- 小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式. 为大家分享的js图片轮播效果代码如下 <html> <head> <title>js图片轮播效果代码</title> <style type="text/css"> table i
-
纯js实现图片匀速淡入淡出效果
图片匀速淡入淡出效果如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>淡入效果</title> <style> * { margin: 0; padding: 0; } div { border: 2px solid #aaa; } img { width: 300px; height:
-
js控制淡入淡出示例代码
相对来说可以让初学者看一下,并不太实用,可能jquery4条语句就能解决,但是原生相对有参照性,了解最终原理才是关键. 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.o
-
js实现图片加载淡入淡出效果
本文实例为大家分享了js图片加载淡入淡出效果展示的具体代码,供大家参考,具体内容如下 HTML代码 首先是图片标记的写法: <img data-src="/path/to/image.jpg" alt=""> 需要将图片的地址放到 data-src 属性里,而src值填写默认的一张图片. CSS代码 所有具有data-src属性的图片,我们将其初始显示状态为不可见,通过透明度来调节: img { opacity: 1; transition: opaci
-
js如何实现淡入淡出效果
淡入淡出效果,在日常项目中经常用到,可惜原生JS没有类似的方法,而有时小的页面并不值得引入一个jQuery库,所以就自己写了一个,已封装,有用得着的朋友,可以直接使用.代码中另附有一个设置元素透明度的方法, 是按IE规则(0~100)设置, 若改成标准设置方法(0.00~1.00),,下面使用时请考虑浮点精确表达差值. 参数说明: fadeIn()与fadeOut()均有三个参数,第一个是事件, 必填:第二个是淡入淡出速度,正整数,大小自己权衡,可选参数:第三个, 是指定淡入淡出到的透明度值(类
-
原生js和jquery实现图片轮播淡入淡出效果
图片轮播有很多种方式,这里采用其中的 淡入淡出形式 js原生和jQuery都可以实现,jquery因为封装了很多用法,所以用起来就简单许多,转换成js使用,其实也就是用js原生模拟出这些用法. 但不管怎样,构造一个最基本的表现层是必须的 简单的图片轮播一般由几个部分构成. 对于淡入淡出式 1.首先是个外围部分(其实也就是最外边的整体wrapper) 2.接着就是你设置图片轮播的地方(也就是一个banner吧) 3.然后是一个图片组(可以用新的div 也可以直接使用 ul-->li形式) 4.然后
-
js实现图片淡入淡出切换简易效果
本文实例为大家分享了js图片淡入淡出切换详细代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> *{padding: 0;margin: 0;} ul{overflow: hidden;} li{list-style:
随机推荐
- AngularJS实用基础知识_入门必备篇(推荐)
- Python pip安装lxml出错的问题解决办法
- python自动格式化json文件的方法
- vue2利用Bus.js如何实现非父子组件通信详解
- 综合布线网线配对的四大法宝应用
- php操作SVN版本服务器类代码
- Oracle存储过程及调用
- Python的语言类型(详解)
- 详解Javascript继承的实现
- Python3使用requests登录人人影视网站的方法
- Python time模块详解(常用函数实例讲解,非常好)
- DIV_圆边圆角的实现
- 网页中英文混排行高不等问题的解决方法
- javascript重写alert方法的实例代码
- JS触摸与手势事件详解
- 用PHP即时捕捉PHP中的错误并发送email通知的实现代码
- 四种Java线程池用法解析
- Android手势ImageView三部曲 第三部
- Android 自定义弹性ListView控件实例代码(三种方法)
- C#基于DBContext(EF)实现通用增删改查的REST方法实例