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 相关文章推荐
JS无限树状列表实现代码
Jan 11 Javascript
JavaScript中string转换成number介绍
Dec 31 Javascript
基于Javascript实现弹出页面效果
Jan 01 Javascript
不用一句js代码初始化组件
Jan 27 Javascript
jQuery中的each()详细介绍(推荐)
May 25 Javascript
Three.js学习之网格
Aug 10 Javascript
防止页面url缓存中ajax中post请求的处理方法
Oct 10 Javascript
gulp安装以及打包合并的方法教程
Nov 19 Javascript
基于Vue+element-ui 的Table二次封装的实现
Jul 20 Javascript
JS+php后台实现文件上传功能详解
Mar 02 Javascript
js表达式与运算符简单操作示例
Feb 15 Javascript
在vue中使用回调函数,this调用无效的解决
Aug 11 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
如何冲泡挂耳包咖啡?技巧是什么
2021/03/04 冲泡冲煮
php中session_unset与session_destroy的区别分析
2011/06/16 PHP
php函数serialize()与unserialize()用法实例
2014/11/06 PHP
php使用pdo连接并查询sql数据库的方法
2014/12/24 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
2020/10/30 PHP
Js 本页面传值实现代码
2009/05/17 Javascript
jquery ui bootstrap 实现自定义风格
2014/11/14 Javascript
常见的javascript跨域通信方法
2015/12/31 Javascript
angular框架实现全选与单选chekbox的自定义
2017/07/06 Javascript
Django与Vue语法的冲突问题完美解决方法
2017/12/14 Javascript
pace.js和NProgress.js两个加载进度插件的一点小总结
2018/01/31 Javascript
vue如何通过id从列表页跳转到对应的详情页
2018/05/01 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
js+html5 canvas实现ps钢笔抠图
2019/04/28 Javascript
vue+web端仿微信网页版聊天室功能
2019/04/30 Javascript
Vue组件化开发之通用型弹出框的实现
2020/02/28 Javascript
js实现小星星游戏
2020/03/23 Javascript
基于vue3.0.1beta搭建仿京东的电商H5项目
2020/05/06 Javascript
[36:52]DOTA2真视界:基辅特锦赛总决赛
2017/05/21 DOTA
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
python字符串连接方法分析
2016/04/12 Python
Python Paramiko模块的安装与使用详解
2016/11/18 Python
tensorflow构建BP神经网络的方法
2018/03/12 Python
python SQLAlchemy的Mapping与Declarative详解
2019/07/04 Python
Python Gluon参数和模块命名操作教程
2019/12/18 Python
详解tensorflow之过拟合问题实战
2020/11/01 Python
蔻驰美国官网:COACH美国
2016/08/18 全球购物
澳大利亚潮流尖端的快时尚品牌:Cotton On
2016/09/26 全球购物
学雷锋志愿服务月活动总结
2014/03/09 职场文书
企业形象策划方案
2014/05/29 职场文书
2015年乡镇科普工作总结
2015/05/13 职场文书
神州牡丹园的导游词
2019/11/20 职场文书
怎么用Python识别手势数字
2021/06/07 Python
Java基础之线程锁相关知识总结
2021/06/30 Java/Android
Python爬虫入门案例之爬取二手房源数据
2021/10/16 Python
如何更改Win11声音输出设备?Win11声音输出设备四种更改方法
2022/04/08 数码科技