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,超强推荐base.js
Dec 23 Javascript
jQuery 连续列表实现代码
Dec 21 Javascript
javascript获取网页中指定节点的父节点、子节点的方法小结
Apr 24 Javascript
使用jquery清空、复位整个输入域
Apr 02 Javascript
JavaScript中用toString()方法返回时间为字符串
Jun 12 Javascript
什么是JavaScript中的结果值?
Oct 08 Javascript
js 提交form表单和设置form表单请求路径的实现方法
Oct 25 Javascript
模板视图和AngularJS之间冲突的解决方法
Nov 22 Javascript
jQuery EasyUI之验证框validatebox实例详解
Apr 10 jQuery
通过webpack引入第三方库的方法
Jul 20 Javascript
Vue+ElementUI使用vue-pdf实现预览功能
Nov 26 Javascript
vant 中van-list的用法说明
Nov 11 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 ElasticSearch做搜索实例讲解
2020/02/05 PHP
用JavaScript调用WebService的示例
2008/04/07 Javascript
用javascript getComputedStyle获取和设置style的原理
2008/10/10 Javascript
js文件中调用js的实现方法小结
2009/10/23 Javascript
javascript for循环从入门到偏门(效率优化+奇特用法)
2012/08/01 Javascript
javascript列表框操作函数集合汇总
2013/11/28 Javascript
基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏的代码
2014/05/11 Javascript
JavaScript strike方法入门实例(给字符串加上删除线)
2014/10/17 Javascript
基于jquery实现一个滚动的分步注册向导-附源码
2015/08/26 Javascript
AngularJS 让人爱不释手的八种功能
2016/03/23 Javascript
js图片延迟加载(Lazyload)三种实现方式
2017/03/01 Javascript
vue添加class样式实例讲解
2019/02/12 Javascript
bootstrap 日期控件 datepicker被弹出框dialog覆盖的解决办法
2019/07/09 Javascript
[02:51]DOTA2战队出征照拍摄花絮 TI3明星化身时尚男模
2013/07/22 DOTA
[01:28]一分钟告诉你DOTA2 TI9不朽宝藏Ⅱ中有什么!
2019/07/09 DOTA
python网络编程之TCP通信实例和socketserver框架使用例子
2014/04/25 Python
Python中的特殊语法:filter、map、reduce、lambda介绍
2015/04/14 Python
Python实现的密码强度检测器示例
2017/08/23 Python
Python多进程库multiprocessing中进程池Pool类的使用详解
2017/11/24 Python
Pycharm 操作Django Model的简单运用方法
2018/05/23 Python
Django 中使用流响应处理视频的方法
2018/07/20 Python
django写用户登录判定并跳转制定页面的实例
2019/08/21 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
pandas to_excel 添加颜色操作
2020/07/14 Python
Sunglass Hut巴西网上商店:男女太阳镜
2020/10/04 全球购物
少先队入队活动方案
2014/02/08 职场文书
公司业务员岗位职责
2014/03/18 职场文书
扩大国家免疫规划实施方案
2014/03/21 职场文书
人事经理岗位职责范本
2014/08/04 职场文书
销售活动策划方案
2014/08/26 职场文书
普通党员对照检查材料
2014/09/24 职场文书
综合测评自我评价
2015/03/06 职场文书
2015年财务工作总结范文
2015/03/31 职场文书
消夏晚会主持词
2015/06/30 职场文书
涨工资申请书应该怎么写?
2019/07/08 职场文书
windows server2016安装oracle 11g的图文教程
2022/07/15 Servers