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 相关文章推荐
List all the Databases on a SQL Server
Jun 21 Javascript
看了就知道什么是JSON
Dec 09 Javascript
jquery xMarquee实现文字水平无缝滚动效果
Apr 29 Javascript
实现前后端数据交互方法汇总
Apr 07 Javascript
Javascript中Array用法实例分析
Jun 13 Javascript
完美JQuery图片切换效果的简单实现
Jul 21 Javascript
全面解析Angular中$Apply()及$Digest()的区别
Aug 04 Javascript
Vue之Watcher源码解析(1)
Jul 19 Javascript
修改UA在PC中访问只能在微信中打开的链接方法
Nov 27 Javascript
vue两个组件间值的传递或修改方式
Jul 04 Javascript
JS实现的检验身份证格式并输出出生日期,年龄,性别,出生地示例
May 17 Javascript
产制造追溯系统之通过微信小程序实现移动端报表平台
Jun 03 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
thinkPHP的表达式查询用法详解
2016/09/14 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
2016/12/23 PHP
PHP设计模式之原型设计模式原理与用法分析
2018/04/25 PHP
指定位置如果有图片显示图片,无图片显示广告的JS
2010/06/05 Javascript
tangram框架响应式加载图片方法
2013/11/21 Javascript
js获取下拉列表框中的value和text的值示例代码
2014/01/11 Javascript
动态载入js提高网页打开速度的方法
2014/07/04 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
2016/03/22 Javascript
Javascript中arguments对象的详解与使用方法
2016/10/04 Javascript
Javascript typeof与instanceof的区别
2016/10/18 Javascript
Vue中对拿到的数据进行A-Z排序的实例
2018/09/25 Javascript
vue日历/日程提醒/html5本地缓存功能
2019/09/02 Javascript
vue项目使用高德地图的定位及关键字搜索功能的实例代码(踩坑经验)
2020/03/07 Javascript
JS函数参数的传递与同名参数实例分析
2020/03/16 Javascript
vue 获取元素额外生成的data-v-xxx操作
2020/09/09 Javascript
[01:31:03]DOTA2完美盛典全回顾 见证十五项大奖花落谁家
2017/11/28 DOTA
Python中条件选择和循环语句使用方法介绍
2013/03/13 Python
Django视图之ORM数据库查询操作API的实例
2017/10/27 Python
python 实现线程之间的通信示例
2020/02/14 Python
Python通过文本和图片生成词云图
2020/05/21 Python
python用Tkinter做自己的中文代码编辑器
2020/09/07 Python
详解Html5 监听拦截Android返回键方法
2018/04/18 HTML / CSS
AmazeUI 图标的示例代码
2020/08/13 HTML / CSS
阿根廷网上配眼镜:SmartBuyGlasses阿根廷
2016/08/19 全球购物
美国沃尔玛网上超市:Walmart
2020/08/14 全球购物
一套C#面试题
2013/10/09 面试题
配件采购员岗位职责
2013/12/03 职场文书
男方父母婚礼答谢词
2014/01/25 职场文书
舞蹈教育学专业求职信
2014/06/29 职场文书
化验室岗位职责
2015/02/14 职场文书
简爱读书笔记
2015/06/26 职场文书
2016新年问候语大全
2015/11/11 职场文书
python生成随机数、随机字符、随机字符串
2021/04/06 Python
Mysql数据库按时间点恢复实战记录
2021/06/30 MySQL
微信小程序scroll-view不能左右滑动问题的解决方法
2021/07/09 Javascript
使用 Apache 反向代理的设置技巧
2022/01/18 Servers