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 相关文章推荐
jquery复选框CHECKBOX全选、反选
Aug 30 Javascript
javascript高亮效果的二种实现方法
Sep 14 Javascript
jQuery 过滤not()与filter()实例代码
May 10 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
Dec 28 Javascript
window.open 以post方式传递参数示例代码
Feb 27 Javascript
js时钟翻牌效果实现代码分享
Jul 31 Javascript
jQuery实现的网页右下角tab样式在线客服效果代码
Oct 23 Javascript
如何判断Javascript对象是否存在的简单实例
May 18 Javascript
bootstrap可编辑下拉框jquery.editable-select
Oct 12 jQuery
微信小程序实现人脸识别登陆的示例代码
Apr 02 Javascript
vue动态注册组件实例代码详解
May 30 Javascript
JS中类的静态方法,静态变量,实例方法,实例变量区别与用法实例分析
Mar 14 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语法(2)
2006/10/09 PHP
Dedecms V3.1 生成HTML速度的优化办法
2007/03/18 PHP
Extjs学习笔记之四 工具栏和菜单
2010/01/07 Javascript
javascript中创建对象的三种常用方法
2010/12/30 Javascript
25个优雅的jQuery Tooltip插件推荐
2011/05/25 Javascript
ExtJS DOM元素操作经验分享
2013/08/28 Javascript
ExtJS4中的requires使用方法示例介绍
2013/12/03 Javascript
js中的如何定位固定层的位置
2014/06/15 Javascript
jQuery实现根据类型自动显示和隐藏表单
2015/03/18 Javascript
jquery实现表单验证并阻止非法提交
2015/07/09 Javascript
window.location.reload 刷新使用分析(去对话框)
2015/11/11 Javascript
JSON简介以及用法汇总
2016/02/21 Javascript
JavaScript中两个字符串的匹配
2016/06/08 Javascript
react-router v4如何使用history控制路由跳转详解
2018/01/09 Javascript
Vue.Draggable拖拽功能的配置使用方法
2020/07/29 Javascript
详解vue项目中调用百度地图API使用方法
2019/04/25 Javascript
封装微信小程序http拦截器过程解析
2019/08/13 Javascript
vue柱状进度条图像的完美实现方案
2019/08/26 Javascript
你不知道的 TypeScript 高级类型(小结)
2020/08/28 Javascript
编写v-for循环的技巧汇总
2020/12/01 Javascript
Vue中避免滥用this去读取data中数据
2021/03/02 Vue.js
[46:27]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第一局
2016/03/02 DOTA
Python提取网页中超链接的方法
2016/09/18 Python
使用python装饰器计算函数运行时间的实例
2018/04/21 Python
python使用Plotly绘图工具绘制散点图、线形图
2019/04/02 Python
python 在某.py文件中调用其他.py内的函数的方法
2019/06/25 Python
Python中zip函数如何使用
2020/06/04 Python
Levi’s美国官网:美国著名的牛仔裤品牌
2016/08/19 全球购物
美国珠宝网上商店:Jeulia
2016/09/01 全球购物
美国社交购物市场:MassGenie
2019/02/18 全球购物
个人自我鉴定
2013/11/07 职场文书
幼儿教师寄语集锦
2014/04/03 职场文书
本科生就业推荐信
2014/05/19 职场文书
竞选班干部演讲稿600字
2014/08/20 职场文书
2016年社会管理综治宣传月活动总结
2016/03/16 职场文书
Java图书管理系统,课程设计必用(源码+文档)
2021/06/30 Java/Android