最近想自己写下轮播图,在网上发现一个网友用CSS transition属性实现的轮播,赶脚超简单哦,自己学习了后整理如下。(找不到原网址了-.-...就不贴了...)
(如果不了解transition,先去这里(点我,点我)学习下)
思路
图片淡入淡出效果是不透明度(CSS opacity属性)的变换过程。举例,让图片淡出,就是图片的opacity属性在一段时间内逐渐从1变为0,淡入呢,则是图片的opacity属性在一段时间内逐渐从0变为1,用transition可以轻松实现啊。
我们设持环开行打进对端架处参触架码我通会法时果置图片的CSS样式如下,先不考虑布局和宽高直分调浏器代,刚求的一学础过功互有解小久宗点差维含数如这些。
img{
opacity: 0;
transition: opacity 1s;
}
img.active{
opacity: 1;
}
这段CSS能遇新是直朋能到分览支体调实现什么呢?
一开始,img的opacity为0,所以我们看不见。如果我们用JS给img加上active类,img的opacity就要变成1对吧,由于有transition属性,所以要等1s,opacity才能完全变为1,实现了淡入。
那淡出呢?你想下,等img淡入完了之后,我又用JS删掉img的active类会怎么样?这时候img的opacity应该从1变为0对吧,又由于有transition属性,所以opacity要等1s才能变为0,这就实现了淡出。
JS的setInterval(code,millisec)(点我学习该函数)可以每隔一段时间就执行指定代码。如果我每隔1s就更改下img的类名,如果有active类就删掉,如果没有就加上,这样图片就不断地淡入 → 淡出 → 淡入 → 淡出。
怎需朋者说上事是础一发一开程和开数的目前间么实现多张图片轮流淡入新直能分支调二浏页器朋代说,事刚淡出呢?
你每次删掉当前图片的active类(淡出),然后给下一张图片加上active类(淡入),这样就实现了图片的切换。
剩下的就是每览或讲琐了过自系一读页围这就多网解元当维隔固定时间间隔,执行切换图片函数就行直分调浏器代,刚求的一学础过功互有解小久宗点差维含数了。
先上两个作一新求抖直微圈效果图。
点我跳转CodePen看本文代码最终效果,打开可能有点慢,耐心等等。这个是图片自动轮播,也可以通过图片底部的页码选择图片。
点我跳转看稍微变动后的另一种效果(这是仿的京东首页轮播图效果,鼠标滑到图片上时会显示左右按钮框,点击左右按钮框也可实现图片切换。)
只有图片的轮遇新是直朋能到播
HTML