JS实现小米轮播图


Posted in Javascript onSeptember 21, 2020

原生JS仿小米轮播图(最新版易懂),供大家参考,具体内容如下

本次内容主要可实现的效果:

  • 自动轮播
  • 可点击上一张 下一张进行图片的切换
  • 点击右下方小圆点进行图片切换

代码部分:

H5:

<div class="wrap">
    <ul class="list">
      <li class="item active"><img src="img/001.jpg" alt=""></li>
      <li class="item"><img src="img/002.jpg"" alt=""></li>
      <li class="item"><img src="img/001.jpg" alt=""></li>
      <li class="item"><img src="img/002.jpg" alt=""></li>
      <li class="item"><img src="img/001.jpg" alt=""></li>
    </ul>
    <!-- 小圆点 -->
    <ul class="pointList">
      <li class="point active" data-index="0"></li>
      <li class="point" data-index="1"></li>
      <li class="point"data-index="2"></li>
      <li class="point"data-index="3"></li>
      <li class="point"data-index="4"></li>
    </ul>
    <button type="button" class="btn" id="goPre"><</button>
    <button type="button" class="btn" id="goNext">></button>
</div>

CSS部分:

<style>
    .wrap {
      width: 800px;
      height: 400px;
      position: relative;
    }

    .list {
      width: 800px;
      height: 400px;
      list-style: none;
      position: relative;
      padding-left: 0px;
    }

    .item {
      position: absolute;
      width: 100%;
      height: 100%;
      color: white;
      font-size: 50px;
      opacity: 0.6;
      transform: all .8s;
    }
    .item img{
      width: 800px;
      height: 400px;
    }
    .btn {
      width: 50px;
      height: 100px;
      position: absolute;
      top: 150px;
      z-index: 100;
    }

    #goPre {
      left: 0px;
    }

    #goNext {
      right: 0px;
    }

    .item.active {
      opacity: 1;
      z-index: 10;
    }

    .pointList{
      padding-left: 0;
      list-style: none;
      position: absolute;
      right: 20px;
      bottom: 20px;
      z-index: 1000;
    }
    .point{
      width: 10px;
      height: 10px;
      background-color: rgba(0,0,0,0.4);
      border-radius: 50%;
      float: left;
      margin-right: 16px;
      border-style: solid;
      border-width: 2px;
      border-color: rgba(255,255,255, 0.6);
      cursor: pointer;
    }
    .point.active{
      background-color: rgba(255,255,255,0.4);
    }
</style>

JS部分

<script>
    //获取节点
    var items = document.getElementsByClassName('item')//图片
    var goPreBtn = document.getElementById('goPre');
    var goNextBtn = document.getElementById('goNext');
    //获取点
    var points=document.getElementsByClassName('point');

   var time=0;//定时器图片跳转参数

    var index = 0; //表示第几张图片在展示
    //可以展示第几个点

    var clearActive=function(){
      for(var i=0;i<items.length;i++){
        items[i].className='item';
        points[i].className='point';
      }
    }

    var goIndex=function(){
      clearActive();
      items[index].className='item active';
      points[index].className='point active';
    }

    var goNext=function(){
      if(index<4){
        index++;
      }else{
        index=0;
      }
      goIndex();
    }
    var goPre=function(){
      if(index==0){
        index=4;
      }else{
        index--;
      }
      goIndex();
    }

    //点击下一张切换图片
    goNextBtn.addEventListener('click' ,function(){
      goNext();
      time=0;
    })
  //点击上一张进行切换图片
    goPreBtn.addEventListener('click' ,function(){
      goPre();
      time=0;
    })

   for(var i=0;i<points.length;i++){
    points[i].addEventListener('click',function(){
      var pointIndex=this.getAttribute('data-index');
      index=pointIndex;
      goIndex();
      time=0;
    })
   }
   
  //自动轮播定时器
  setInterval(function(){
    time++;
    if(time==20){
      goNext();
      time=0;
    } 
  },100)
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
非常好的js代码
Jun 27 Javascript
JavaScript CSS 修改学习第四章 透明度设置
Feb 19 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
Aug 06 Javascript
js根据日期判断星座的示例代码
Jan 23 Javascript
如何用jquery控制表格奇偶行及活动行颜色
Apr 20 Javascript
基于jQuery实现自动轮播旋转木马特效
Nov 02 Javascript
jQuery实现下拉框左右移动(全部移动,已选移动)
Apr 15 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
Aug 18 Javascript
基于JavaScript表单脚本(详解)
Oct 18 Javascript
Nginx设置为Node.js的前端服务器方法总结
Mar 27 Javascript
一次让你了解全部JavaScript的作用域
Jun 24 Javascript
JavaScript如何利用Promise控制并发请求个数
May 14 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
Sep 21 #Javascript
vue组件入门知识全梳理
Sep 21 #Javascript
Ajax获取node服务器数据的完整步骤
Sep 20 #Javascript
微信小程序获取当前时间及星期几的实例代码
Sep 20 #Javascript
vue操作dom元素的3种方法示例
Sep 20 #Javascript
npm ci命令的基本使用方法
Sep 20 #Javascript
js面试题之异步问题的深入理解
Sep 20 #Javascript
You might like
php和asp语法上的区别总结
2019/05/12 PHP
解决Laravel5.5下的toArray问题
2019/10/15 PHP
Whatever:hover 无需javascript让IE支持丰富伪类
2010/06/29 Javascript
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
2010/09/14 Javascript
JavaScript插入动态样式实现代码
2012/02/22 Javascript
jQuery学习笔记 获取jQuery对象
2012/09/19 Javascript
jquery ajax传递中文参数乱码问题及解决方法说明
2014/02/07 Javascript
JavaScript中自定义事件用法分析
2014/12/23 Javascript
JS实现样式清新的横排下拉菜单效果
2015/10/09 Javascript
Vuejs仿网易云音乐实现听歌及搜索功能
2017/03/30 Javascript
JS实现点击链接切换显示隐藏内容的方法
2017/10/19 Javascript
vue :src 文件路径错误问题的解决方法
2018/05/15 Javascript
vue实现同一个页面可以有多个router-view的方法
2018/09/20 Javascript
VUE+elementui面包屑实现动态路由详解
2019/11/04 Javascript
JavaScript array常用方法代码实例详解
2020/09/02 Javascript
详解阿里Node.js技术文档之process模块学习指南
2021/01/04 Javascript
python在linux中输出带颜色的文字的方法
2014/06/19 Python
Python中暂存上传图片的方法
2015/02/18 Python
Python 安装setuptools和pip工具操作方法(必看)
2017/05/22 Python
Python实现矩阵加法和乘法的方法分析
2017/12/19 Python
下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决
2018/04/23 Python
python opencv判断图像是否为空的实例
2019/01/26 Python
Python如何获得百度统计API的数据并发送邮件示例代码
2019/01/27 Python
Python解压 rar、zip、tar文件的方法
2019/11/19 Python
python实现的分析并统计nginx日志数据功能示例
2019/12/21 Python
关于前端上传文件全面基础扫盲贴(入门)
2019/08/01 HTML / CSS
犹他州最古老的体育用品公司:Al’s
2020/12/18 全球购物
linux面试题参考答案(5)
2016/11/05 面试题
Linux管理员面试经常问道的相关命令
2013/04/29 面试题
残疾人创业典型事迹
2014/02/01 职场文书
党的群众路线整改落实情况汇报
2014/10/28 职场文书
学生喝酒检讨书500字
2014/11/02 职场文书
超市工作总结范文2014
2014/12/19 职场文书
党员承诺书格式范文
2015/04/28 职场文书
幼儿园托班开学寄语(2015秋季)
2015/05/27 职场文书
利用 JavaScript 构建命令行应用
2021/11/17 Javascript