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 表单中textarea字数限制实现代码
Dec 07 Javascript
jquery下onpropertychange事件的绑定方法
Aug 01 Javascript
分享几个超级震憾的图片特效
Jan 08 Javascript
node中socket.io的事件使用详解
Dec 15 Javascript
网页禁用右键菜单和鼠标拖动选择方法小结
Feb 25 Javascript
ArtEditor富文本编辑器增加表单提交功能
Apr 18 Javascript
BootStrap入门教程(三)之响应式原理
Sep 19 Javascript
详解jQuery事件
Jan 13 Javascript
微信小程序 监听手势滑动切换页面实例详解
Jun 15 Javascript
JS通过调用微信API实现微信支付功能的方法示例
Jun 29 Javascript
使用RN Animated做一个“添加购物车”动画的方法
Sep 12 Javascript
如何将百度地图包装成Vue的组件的方法步骤
Feb 12 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
Windows下的PHP5.0详解
2006/11/18 PHP
在项目中寻找代码的坏命名
2012/07/14 PHP
PHP链接MySQL的常用扩展函数
2014/10/23 PHP
php类中的各种拦截器用法分析
2014/11/03 PHP
php数组使用规则分析
2015/02/27 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
javascript 原型模式实现OOP的再研究
2009/04/09 Javascript
JQuery 技巧和窍门整理(8个)
2010/04/22 Javascript
JS正则验证邮箱的格式详细介绍
2013/11/19 Javascript
一个JavaScript用逗号分割字符串实例
2014/09/22 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
2015/01/13 Javascript
JQuery中Ajax()的data参数类型实例分析
2015/12/15 Javascript
微信开发 使用picker封装省市区三级联动模板
2016/10/28 Javascript
JS实现多张图片预览同步上传功能
2017/06/23 Javascript
Vue2.0 slot分发内容与props验证的方法
2017/12/12 Javascript
在小程序中使用Echart图表的示例代码
2018/08/02 Javascript
使用node-media-server搭建一个简易的流媒体服务器
2021/01/20 Javascript
Python 正则表达式的高级用法
2016/12/04 Python
Python爬虫抓取代理IP并检验可用性的实例
2018/05/07 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
2019/06/13 Python
Python如何在DataFrame增加数值
2020/02/14 Python
jupyter 导入csv文件方式
2020/04/21 Python
浅谈Keras参数 input_shape、input_dim和input_length用法
2020/06/29 Python
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
HTML高亮关键字的实现代码
2018/10/22 HTML / CSS
HTML5自定义mp3播放器源码
2020/01/06 HTML / CSS
优秀的毕业生的自我评价
2013/12/12 职场文书
医生进修自我鉴定
2014/01/19 职场文书
个人对照检查材料
2014/02/12 职场文书
酒店优秀员工事迹材料
2014/06/02 职场文书
文艺演出策划方案
2014/06/07 职场文书
第二批党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
实习报告范文之电话客服岗位
2019/07/26 职场文书
Python实现机器学习算法的分类
2021/06/03 Python
SQL实现LeetCode(197.上升温度)
2021/08/07 MySQL