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


Posted in Javascript onSeptember 28, 2019

这篇文章主要介绍了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 相关文章推荐
javascript在一段文字中的光标处插入其他文字
Aug 26 Javascript
JQuery 学习笔记 选择器之三
Jul 23 Javascript
jquery实现兼容浏览器的图片上传本地预览功能
Oct 14 Javascript
JS拖拽插件实现步骤
Aug 03 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
Sep 19 Javascript
javascript实现方法调用与方法触发小结
Mar 26 Javascript
Google 地图API Map()构造器详解
Aug 06 Javascript
Vue动态实现评分效果
May 24 Javascript
详解webpack打包后如何调试的方法步骤
Nov 07 Javascript
vue路由 遍历生成复数router-link的例子
Oct 30 Javascript
vue中watch的用法汇总
Dec 28 Vue.js
JS前端监控采集用户行为的N种姿势
Jul 23 Javascript
json字符串对象转换代码实例
Sep 28 #Javascript
javascript头像上传代码实例
Sep 28 #Javascript
解决layui laydate 时间控件一闪而过的问题
Sep 28 #Javascript
JavaScript生成随机验证码代码实例
Sep 28 #Javascript
laydate只显示时分 不显示秒的功能实现方法
Sep 28 #Javascript
layui时间控件选择时间范围的实现方法
Sep 28 #Javascript
layui table 表格上添加日期控件的两种方法
Sep 28 #Javascript
You might like
php获取CSS文件中图片地址并下载到本地的方法
2014/12/02 PHP
ThinkPHP实现递归无级分类――代码少
2015/07/29 PHP
深入分析PHP优化及注意事项
2016/07/04 PHP
利用switch语句进行多选一判断的实例代码
2016/11/14 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
laravel框架查询数据集转为数组的两种方法
2019/10/10 PHP
jquery validate使用攻略 第四步
2010/07/01 Javascript
Prototype源码浅析 Enumerable部分(二)
2012/01/18 Javascript
html向js方法传递参数具体实现
2013/08/08 Javascript
详解jQuery插件开发中的extend方法
2013/11/19 Javascript
createTextRange()的使用示例含文本框选中部分文字内容
2014/02/24 Javascript
js简单的表格添加行和删除行操作示例
2014/03/31 Javascript
js读取json的两种常用方法示例介绍
2014/10/19 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
2015/07/27 Javascript
JavaScript中的this机制
2016/01/30 Javascript
JavaScript 异步调用
2017/10/25 Javascript
在Vue中使用highCharts绘制3d饼图的方法
2018/02/08 Javascript
如何使用less实现随机下雪动画详解
2019/01/02 Javascript
Nodejs技巧之Exceljs表格操作用法示例
2019/11/06 NodeJs
[01:36:19]Secret vs NB 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python中的实例方法、静态方法、类方法、类变量和实例变量浅析
2014/04/26 Python
python编程实现12306的一个小爬虫实例
2017/12/27 Python
Python比较2个时间大小的实现方法
2018/04/10 Python
Python图像处理之gif动态图的解析与合成操作详解
2018/12/30 Python
利用python将图片版PDF转文字版PDF
2019/05/03 Python
python提取log文件内容并画出图表
2019/07/08 Python
Django app配置多个数据库代码实例
2019/12/17 Python
python读取mysql数据绘制条形图
2020/03/25 Python
JupyterNotebook 输出窗口的显示效果调整实现
2020/09/22 Python
css3 pointer-events 介绍详解
2017/09/18 HTML / CSS
元旦联欢会主持词
2014/03/26 职场文书
教师国庆节演讲稿范文2014
2014/09/21 职场文书
领导班子整改方案
2014/10/25 职场文书
开展警示教育活动总结
2015/05/09 职场文书
建党伟业电影观后感
2015/06/01 职场文书
MySQL数据库⾼可⽤HA实现小结
2022/01/22 MySQL