html图片轮播淡出,基于CSS3淡入淡出效果的图片轮播_html/css_WEB-ITnose

本文介绍了如何利用CSS3的transition属性创建平滑的图片淡入淡出效果,以此替代JavaScript的fadeIn和fadeOut方法,以提高运行效率。通过预先定义的样式类,结合JavaScript切换元素类名,实现图片轮播。这种方法避免了jQuery的卡顿感,适合用于图片轮播或背景切换等场景。
摘要由CSDN通过智能技术生成

网上的淡入淡出效果大多是依照jquery中fadeIn和fadeOut的思路使用js来控制元素的透明度达到目的,但缺点是有轻微的卡顿感,并且运行效率一般。 这里提供另外一个思路,即通过预先定义好的css样式老控制透明度的过渡, 这种方法过渡平滑,且因为过渡的效果是基于css3的animation,所以效率高些。 思路是将淡入,淡出的效果做成预先定义好的样式类,然后用JS改变元素的类来达到图片轮播,废话不多说,上代码:

在线DEMO展示

HTML:

CSS: .bg { position: absolute; left: 0; top: 0; width: 100vw; height: 100vh;}#bg1 { background: url(http://pfile.cn/11n0lc) no-repeat; background-size: cover; -webkit-transition: opacity 2s linear; -moz-transition: opacity 2s linear; -o-transition: opacity 2s linear; transition: opacity 2s linear;}#bg2 { background: url(http://pfile.cn/emebgq) no-repeat; background-size: cover; -webkit-transition: opacity 2s linear; -moz-transition: opacity 2s linear; -o-transition: opacity 2s linear; transition: opacity 2s linear;}.fadein{ opacity:100;}.fadeout{ opacity:0;}

JS: function fadeIn(e) { e.className = "bg fadein"};function fadeOut(e) { e.className = "bg fadeout"};cur_img = document.getElementById("imgs").children.length - 1;function turnImgs(imgs) { var imgs = document.getElementById("imgs").children; if (cur_img == 0) { fadeOut(imgs[cur_img]); cur_img = imgs.length - 1; fadeIn(imgs[cur_img]); } else { fadeOut(imgs[cur_img]); fadeIn(imgs[cur_img - 1]); cur_img--; }}setInterval(turnImgs, 2000);

demo中只用了两张图片,如果需要插入更多的图片,可以在id=“imgs”的的div中加入一个新的子div ,class加上bg即可,然后在CSS中加入该div的描述,比如HTML中加入

,然后CSS中则加入#bg2 {

background: url(图片地址) no-repeat;

background-size: cover;

-webkit-transition: opacity 2s linear;

-moz-transition: opacity 2s linear;

-o-transition: opacity 2s linear;

transition: opacity 2s linear;

} 即可。

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值