JavaScript

超轻量级php框架startmvc

JavaScript实现轮播图效果代码实例

更新时间:2020-09-16 10:24:01 作者:startmvc
这篇文章主要介绍了JavaScript实现轮播图效果代码实例,文中通过示例代码介绍的非常详细,

这篇文章主要介绍了JavaScript实现轮播图效果代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

HTML部分:


<!-- HTML部分 -->
<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <title>轮播图</title>
 <link rel="stylesheet" type="text/css" href="css/demo06.css" rel="external nofollow" />
 <script src="js/demo06.js"></script>
 </head>
 <body>
 <div class="container">
 <!-- 轮播图区域 -->
 <ul class="lbimg">
 <li class="on" style="background-color: #898989;">轮播图1</li>
 <li style="background-color: #CD282B;">轮播图2</li>
 <li style="background-color: pink;">轮播图3</li>
 <li style="background-color: peachpuff;">轮播图4</li>
 <li style="background-color: palegoldenrod;">轮播图5</li>
 </ul> 
 <ol class="btn">
 <li class="active">第1张</li>
 <li>第2张</li>
 <li>第3张</li>
 <li>第4张</li>
 <li>第5张</li>
 </ol>
 </div>
 </body>
</html>

CSS部分


*{
 margin: 0;
 padding: 0;
 list-style: none;
}
.container{
 width: 600px;
 height: 400px;
 border: 4px double #FF6633;
 margin: 0 auto;
}

/* 轮播图 */
.lbimg li{
 width: 100%;
 height: 350px;
 text-align: center;
 line-height: 350px;
 display: none;
 font-size: 25px;
 color: #FF6633;
}
.lbimg .on{
 display: block;
}

.btn{
 width: 100%;
 height: 50px;
 background-color: #3CBDFF;
 display: flex;
}
.btn li{
 flex: 1;
 color: #fff;
 font-weight: bold;
 line-height: 50px;
 text-align: center;
 font-family: "楷体";
 cursor: pointer;
 
}
.btn .active{
 background-color: rgba(0,0,0,0.2);
 transition: all ease-in-out 0.25s;
}

JavaScript部分


window.onload=function(){
 var lbimg=document.querySelector(".lbimg");
 var lbimgs=lbimg.querySelectorAll("li");
 var btn=document.querySelector(".btn");
 var btns=btn.querySelectorAll("li");
 
 for (var i = 0; i < btns.length; i++) {
 
 btns[i].index=i;
 btns[i].onclick=function(){
 clearInterval(timer);
 for (var j = 0; j < lbimgs.length; j++) {
 lbimgs[j].className="";
 }
 // 按钮颜色跟着变化
 for(var k=0;k<btns.length;k++){
 btns[k].className="";
 }
 // 轮播同步,点击后图片的位置从点击的地方开始轮播
 index=this.index;
 btns[this.index].className="active";
 lbimgs[this.index].className="on";
 timer=setInterval(autoPlay,1000);
 }
 }
 var index=0;
 // 自动轮播
 index++;
 var timer=setInterval(autoPlay,1000);
 function autoPlay(){
 for (var i = 0; i < lbimgs.length; i++) {
 lbimgs[i].className="";
 }
 for (var j = 0; j < btns.length; j++) {
 btns[j].className="";
 }
 if(index==lbimgs.length-1){
 index=0;
 }else{
 index++;
 }
 btns[index].className="active";
 lbimgs[index].className="on";
 }
 
 // 鼠标移动时清除定时器
 lbimg.onmouseover=function(){
 clearInterval(timer);
 }
 lbimg.onmouseout=function(){
 timer=setInterval(autoPlay,1000);
 }
 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

javascript 轮播