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');
};
});
相比起其它各种的图片延迟加载技术,这种方法非常的简单,它几乎不要求其它任何条件,可以用在任何地方,使用起来非常灵活。
但是要注意的是,简单有简单的好坏,也会因为简单而不足。它不具有图片图片滚动到可视窗口内再加载的功能。最终使用哪种技术,还是要看场景而定。
以上就是本文的全部内容,希望对大家的工作和学习能有所帮助。
相关文章
再谈querySelector和querySelectorAll的区别与联系
先按W3C的规范来说这两个方法应该返回的内容吧,大家先看下官方的解释,然后根据需要选择使用2012-04-04
详解原生JavaScript实现jQuery中AJAX处理的方法
这篇文章主要介绍了原生JavaScript实现jQuery中AJAX处理的方法,作者根据jQuery中一些对AJAX请求的处理方式来用原生API实现,需要的朋友可以参考下2016-05-05
javascript轻松实现当鼠标移开时已弹出子菜单自动消失
本文为大家详细介绍下使用javascript实现当鼠标移开时已弹出子菜单自动消失,具体如下,感兴趣的朋友不要错过2013-12-12
Bootstrap优化站点资源、响应式图片、传送带使用详解3
这篇文章主要介绍了Bootstrap优化站点资源、完成响应式图片、让传送带支持手势的相关知识,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2016-10-10
JavaScript中clientWidth,offsetWidth,scrollWidth的区别
这篇文章主要介绍了Element中clientWidth,offsetWidth,scrollWidth的区别,帮助大家更好的理解和使用JavaScript,感兴趣的朋友可以了解下2021-01-01


最新评论