实现这种淡入淡出的轮播关键在于css的一种设置  首先它不能像传统的轮播显示隐藏 或者左右浮动

他应该让其固定定位使其重叠在一起  达到这种效果  然后设置c3动画属性 transition:1s;

具体代码如下 请君欣赏

 * {
margin:;
padding:;
list-style: none;
} body {
width: 100%;
height: 100%;
background-color: #666;
} .container {
width: 650px;
height: 236px;
margin: 100px auto;
position: relative;
} .container ul {
width: 650px;
height: 236px;
} .container ul li {
width: 100%;
height: 100%;
position: absolute;
left:;
top:;
transition: 2s;
opacity:;
} .container ul li img {
width: 100%;
height: 100%;
} .container ul li:nth-child(1) {
opacity:;
} .container ol {
position: absolute;
left: 50%;
bottom: 10px;
transform: translate(-50%, 0);
} .container ol li {
float: left;
margin: 0 10px;
} .container ol li a {
width: 15px;
height: 15px;
background-color: #666;
display: inline-block;
border-radius: 50%;
} .container ol a.active {
background: yellow;
}

HTML部分

 <body>
<div class="container">
<ul>
<li><img src="./img/1.jpg" alt=""></li>
<li><img src="./img/2.jpg" alt=""></li>
<li><img src="./img/3.jpg" alt=""></li>
<li><img src="./img/4.jpg" alt=""></li>
<li><img src="./img/5.jpg" alt=""></li>
<li><img src="./img/6.jpg" alt=""></li>
</ul>
<ol>
<li><a class="active" href="#1"></a></li>
<li><a href="#1"></a></li>
<li><a href="#1"></a></li>
<li><a href="#1"></a></li>
<li><a href="#1"></a></li>
<li><a href="#1"></a></li>
</ol>
</div>
<script src="./js/index.js"></script>
<script>
new Container();
</script>
</body>

JS部分

 class Container{
constructor(){
this.oli=document.querySelectorAll("ul li");
this.ball=document.querySelectorAll("a");
this.box=document.querySelector(".container");
this.timer=null;
this.count=0;
this.init()
}
init(){
this.autoplay();
this.click();
this.mouse()
}
autoplay(){
this.timer=setInterval(()=>{
this.count++;
if(this.count==this.oli.length){
this.count=0;
}
this.change(this.count);
},2000)
}
change(index){
this.oli.forEach((item,i)=>{
item.style.opacity=0; this.ball[i].classList.remove("active"); }); this.oli[index].style.opacity=1; this.ball[index].classList.add("active")
}
click(){
//小圆点的点击事件
this.ball.forEach((item,index)=>{
item.onclick=()=>{
this.count=index
this.change(index)
}
})
}
mouse(){
//鼠标移入停止定时器 离开继续
this.box.onmouseover=()=>{
clearInterval(this.timer)
}
this.box.onmouseout=()=>{
this.autoplay()
}
}
}

最新文章

  1. font-size 兼容问题
  2. 跨应用程序域(AppDomain)的单例(Singleton)实现
  3. 新公司入职第一天遇到的 关于 CSS 单行溢出文本显示省略号...的问题
  4. 使用Groovy构建自己的脚本环境
  5. POJ2676-Sudoku(数独)
  6. http://www.cnblogs.com/yjmyzz/p/dubbox-demo.html
  7. jquery动态移除/增加onclick属性详解
  8. IEtester不靠谱
  9. Wide character in print at a2.pl line 返回json 需要encode_utf8
  10. Linux散列表(二)——宏
  11. [置顶] cJSON库(构建json与解析json字符串)-c语言
  12. destoon实现商铺管理主页设置增加新菜单的方法
  13. vs2010编译live555源码
  14. http://localhost:8080/ 演出Oracle说明
  15. JavaEE(5) - JMS实现企业Pub-Sub消息处理
  16. [js高手之路] dom常用节点属性兼容性详解与应用
  17. Reveal : Xcode辅助界面调试工具
  18. 集合-Collections工具
  19. C#给checkboxList设置js选中事件
  20. [vscode] pylint在虚拟环境下错误告警问题

热门文章

  1. Android setTag()/getTag()
  2. 任务十三:零基础JavaScript编码(一)
  3. [poj 2479] Maximum sum -- 转载
  4. SQL Server -&gt;&gt; SQL Server 2016新特性之 -- sp_set_session_context存储过程和SESSION_CONTEXT函数
  5. C#调用Excel VBA宏[转载]
  6. 一道算法题-从1到n整数中1出现的次数
  7. Win10安装msi程序报错2503和2502错误解决方案
  8. mysql主从同步与防火墙端口的设定
  9. EventBus事件总线
  10. Android(java)学习笔记208:Android下的属性动画高级用法(Property Animation)