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+Ajax+Json的高效分页实现代码
Oct 29 Javascript
FireFox下XML对象转化成字符串的解决方法
Dec 09 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
Nov 24 Javascript
强大Vue.js组件浅析
Sep 12 Javascript
微信小程序 五星评分(包括半颗星评分)实例代码
Dec 14 Javascript
jquery实现(textarea)placeholder自动换行
Dec 22 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
Feb 20 Javascript
vue.js 使用axios实现下载功能的示例
Mar 05 Javascript
VUE-Table上绑定Input通过render实现双向绑定数据的示例
Aug 27 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
Sep 27 Javascript
vue将data恢复到初始状态 &amp;&amp; 重新渲染组件实例
Sep 04 Javascript
微信小程序实现简单的select下拉框
Nov 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设计模式之简单投诉页面实例
2016/02/24 PHP
如何修改Laravel中url()函数生成URL的根地址
2017/08/11 PHP
PHP标准库(PHP SPL)详解
2019/03/16 PHP
解析arp病毒背后利用的Javascript技术附解密方法
2007/08/06 Javascript
精心挑选的12款优秀的基于jQuery的手风琴效果插件和教程
2012/08/22 Javascript
Javascript发送AJAX请求实例代码
2016/08/21 Javascript
js正则表达式注册页面表单验证
2016/10/11 Javascript
JS实现点击表头表格自动排序(含数字、字符串、日期)
2017/01/22 Javascript
JavaScript实现开关等效果
2017/09/08 Javascript
JS实现的按钮点击颜色切换功能示例
2017/10/19 Javascript
详解从买域名到使用pm2部署node.js项目全过程
2018/03/07 Javascript
关于echarts在节点显示动态数据及添加提示文本所遇到的问题
2018/04/20 Javascript
vue-test-utils初使用详解
2019/05/23 Javascript
微信小程序判断用户是否需要再次授权获取个人信息
2019/07/18 Javascript
jquery实现聊天机器人
2020/02/08 jQuery
[01:09]模型精美,特效酷炫!TI9不朽宝藏Ⅰ鉴赏
2019/05/10 DOTA
Python中函数的多种格式和使用实例及小技巧
2015/04/13 Python
Python使用matplotlib绘图无法显示中文问题的解决方法
2018/03/14 Python
利用scrapy将爬到的数据保存到mysql(防止重复)
2018/03/31 Python
python 文本单词提取和词频统计的实例
2018/12/22 Python
Python程序暂停的正常处理方法
2019/11/07 Python
用 Python 制作地球仪的方法
2020/04/24 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
2020/05/13 Python
python中线程和进程有何区别
2020/06/17 Python
HTML5学习笔记之html5与传统html区别
2016/01/06 HTML / CSS
香港个人化生活购物网站:Ballyhoo Limited
2016/09/10 全球购物
彪马土耳其官网:PUMA土耳其
2019/07/14 全球购物
正宗的澳大利亚Ugg靴子零售商:UGG Express
2020/04/19 全球购物
自荐信写法介绍
2014/01/25 职场文书
机关单位人员学雷锋心得体会
2014/03/10 职场文书
股权收购意向书
2014/04/01 职场文书
学校安全教育月活动总结
2014/07/07 职场文书
热情服务标语
2014/10/07 职场文书
幼儿园教师教育随笔
2015/08/14 职场文书
mysql 获取时间方式
2022/03/20 MySQL
Java 关于String字符串原理上的问题
2022/04/07 Java/Android