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 相关文章推荐
使用Microsoft Ajax Minifier减小JavaScript文件大小的方法
Apr 01 Javascript
JavaScript 操作table,可以新增行和列并且隔一行换背景色代码分享
Jul 05 Javascript
js获得页面的高度和宽度的方法
Feb 23 Javascript
jquery实现可点击伸缩与展开的菜单效果代码
Aug 31 Javascript
有关suggest快速删除后仍然出现下拉列表的bug问题
Dec 02 Javascript
webpack打包单页面如何引用的js
Jun 07 Javascript
Angular.JS中指令ng-if的注意事项小结
Jun 21 Javascript
vue实现2048小游戏功能思路详解
May 09 Javascript
nuxt框架中路由鉴权之Koa和Session的用法
May 09 Javascript
一些手写JavaScript常用的函数汇总
Apr 16 Javascript
JS Ajax请求会话过期处理问题解决方法分析
Nov 16 Javascript
vue实现信息管理系统
May 30 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 cc攻击代码与防范方法
2012/10/18 PHP
深入php常用函数的使用汇总
2013/06/08 PHP
解析php做推送服务端实现ios消息推送
2013/07/01 PHP
js 页面传参数时 参数值含特殊字符的问题
2009/12/13 Javascript
javascript中的startWith和endWith的几种实现方法
2013/05/07 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
2013/12/17 Javascript
表单提交前触发函数返回true表单才会提交
2014/03/11 Javascript
在Node.js中实现文件复制的方法和实例
2014/06/05 Javascript
jquery左边浮动到一定位置时显示返回顶部按钮
2014/06/05 Javascript
JavaScript判断用户是否对表单进行了修改的方法
2015/03/18 Javascript
jquery插件uploadify多图上传功能实现代码
2016/08/12 Javascript
javascript 内置对象及常见API详细介绍
2016/11/01 Javascript
Vue0.1的过滤代码如何添加到Vue2.0直接使用
2017/08/23 Javascript
原生JS实现自定义下拉单选选择框功能
2018/10/12 Javascript
vue使用transition组件动画效果的实例代码
2021/01/28 Vue.js
Python矩阵常见运算操作实例总结
2017/09/29 Python
python使用openpyxl库修改excel表格数据方法
2018/05/03 Python
解决使用pycharm提交代码时冲突之后文件丢失找回的方法
2018/08/05 Python
python中字符串数组逆序排列方法总结
2019/06/23 Python
Python视频编辑库MoviePy的使用
2020/04/01 Python
python+appium+yaml移动端自动化测试框架实现详解
2020/11/24 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
2021/01/28 Python
英国信箱在线鲜花速递公司:Bloom & Wild
2019/03/10 全球购物
Lookfantastic意大利官网:英国知名美妆购物网站
2019/05/31 全球购物
eBay爱尔兰站:eBay.ie
2019/08/09 全球购物
同步和异步有何异同,在什么情况下分别使用他们
2013/04/09 面试题
高考自主招生自荐信
2013/10/20 职场文书
火锅店营销方案
2014/02/26 职场文书
认购协议书范本
2014/04/22 职场文书
党员批评与自我批评发言稿
2014/10/14 职场文书
2015公务员试用期工作总结
2014/12/12 职场文书
2015年三万活动总结
2015/03/25 职场文书
遗失证明范文
2015/06/19 职场文书
2019年教师节祝福语精选,给老师送上真诚的祝福
2019/09/09 职场文书
创业计划书之婴幼儿游泳馆
2019/09/11 职场文书
MySQL 条件查询的常用操作
2022/04/28 MySQL