原生js实现点击轮播切换图片


Posted in Javascript onFebruary 11, 2020

本文实例为大家分享了js实现点击轮播切换图片的具体代码,供大家参考,具体内容如下

原生js实现点击轮播切换图片

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>点击轮播图</title>
</head>
<style>
    .container {
      position: relative;
      width: 600px;
      height: 400px;
      margin:100px auto 0 auto;
      box-shadow: 0 0 5px green;
      overflow: hidden;
    } 
    .wrap {
      position: absolute;
      width: 4200px;
      height: 400px;
      z-index: 1;
    }
    .container .wrap img {
      float: left;
      width: 600px;
      height: 400px;
    }
     .container .buttons {
      position: absolute;
      right: 40%;
      bottom:20px;     
      z-index: 2;
    }  
    .container .buttons span {
      margin-left: 10px;
      display: inline-block;
      width: 7px;
      height: 7px;     
      background-color: #D4D4D4;
      text-align: center;
      color:white;
      cursor: pointer;      
    }
    .container .buttons span.on{
      background-color: #558949;
    }
    .container .arrow {
      position: absolute;
      top: 35%;
      color: green;
      padding:0px 14px;
      border-radius: 50%;
      font-size: 50px;
      z-index: 2;
      display: none;
    }
</style>
<body>
  <div class="container">
    <div class="wrap" style="left:-600px;">
      <img alt="">
      <img src="./img/jd_app3.png" alt="">
      <img src="./img/jd_app4.png" alt="">
      <img src="./img/jd_app5.png" alt="">
      <img src="./img/jd_app6.png" alt="">
      <img src="./img/jd_app7.png" alt="">    
    </div>
    <div class="buttons">
      <span></span>
      <span></span>
      <span></span>
      <span></span>
      <span></span>
    </div>  
  </div>
  
  <script>
   var wrap = document.querySelector(".wrap");     
    var index = 0;
    var dots = document.getElementsByTagName("span");
    function showCurrentDot () {
      for(var i = 0, len = dots.length; i < len; i++){
        dots[i].className = "";
      }
      dots[index].className = "on";
    }
    index++;
      if(index > 4){
        index = 0;
      }
    index--;
    if(index < 0){
      index = 4;
    }
    showCurrentDot();
     for (var i = 0, len = dots.length; i < len; i++){
      (function(i){
        dots[i].onclick = function () {
          var dis = index - i;
          if(index == 4 && parseInt(wrap.style.left)!==-3000){
            dis = dis - 5;   
          }
          //和使用prev和next相同,在最开始的照片5和最终的照片1在使用时会出现问题,导致符号和位数的出错,做相应地处理即可
          if(index == 0 && parseInt(wrap.style.left)!== -600){
            dis = 5 + dis;
          }
          wrap.style.left = (parseInt(wrap.style.left) + dis * 600)+"px";
          index = i;
          showCurrentDot();
        }
      })(i);      
    }
  </script>
</body>
</html>

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

Javascript 相关文章推荐
Javascript String对象扩展HTML编码和解码的方法
Jun 02 Javascript
让人期待的2011年度最佳 jQuery 插件分享
Mar 16 Javascript
js动态添加事件并可传参数示例代码
Oct 21 Javascript
jQuery获取标签文本内容和html内容的方法
Mar 27 Javascript
JavaScript使用二分查找算法在数组中查找数据的方法
Apr 07 Javascript
Vue.js开发环境快速搭建教程
Mar 17 Javascript
一次围绕setTimeout的前端面试经验分享
Jun 15 Javascript
AngularJS中table表格基本操作示例
Oct 10 Javascript
JS中appendChild追加子节点无效的解决方法
Oct 14 Javascript
12 种使用Vue 的最佳做法
Mar 30 Javascript
微信小程序实现自定义动画弹框/提示框的方法实例
Nov 06 Javascript
vue @ ~ 相对路径 路径别名设置方式
Jun 05 Vue.js
node.js中process进程的概念和child_process子进程模块的使用方法示例
Feb 11 #Javascript
小程序如何定位所在城市及发起周边搜索
Feb 11 #Javascript
JS+DIV实现拖动效果
Feb 11 #Javascript
vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应)
Feb 11 #Javascript
原生js拖拽实现图形伸缩效果
Feb 10 #Javascript
js实现单元格拖拽效果
Feb 10 #Javascript
详解Vue template 如何支持多个根结点
Feb 10 #Javascript
You might like
编写自己的php扩展函数
2006/10/09 PHP
php读取csv数据保存到数组的方法
2015/01/03 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
2019/04/03 PHP
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
2008/12/29 Javascript
Javascript Tab 导航插件 (23个)
2009/06/11 Javascript
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
2011/02/25 Javascript
利用JS实现浏览器的title闪烁
2013/07/08 Javascript
单击和双击事件的冲突处理示例代码
2014/04/03 Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
2015/05/13 Javascript
详细解读AngularJS中的表单验证编程
2015/06/19 Javascript
Vue.js中用v-bind绑定class的注意事项
2016/12/13 Javascript
利用js的闭包原理做对象封装及调用方法
2017/04/07 Javascript
vue结合axios与后端进行ajax交互的方法
2018/07/06 Javascript
基于layui数据表格以及传数据的方式
2018/08/19 Javascript
JS实现的合并两个有序链表算法示例
2019/02/25 Javascript
vue-cli4.x创建企业级项目的方法步骤
2020/06/18 Javascript
[50:58]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 Mineski vs EG
2018/04/03 DOTA
详解 Python 读写XML文件的实例
2017/08/02 Python
python数据结构学习之实现线性表的顺序
2018/09/28 Python
PyCharm 设置SciView工具窗口的方法
2019/01/15 Python
Django REST Framework序列化外键获取外键的值方法
2019/07/26 Python
Python pandas实现excel工作表合并功能详解
2019/08/29 Python
python sklearn常用分类算法模型的调用
2019/10/16 Python
python数值基础知识浅析
2019/11/19 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
python设置代理和添加镜像源的方法
2020/02/14 Python
很酷的小工具和电子产品商城:GearBest
2016/11/19 全球购物
草莓网官网:StrawberryNET
2019/08/21 全球购物
联想C++笔试题
2012/06/13 面试题
中专毕业生自我鉴定
2013/11/21 职场文书
2014年3.15团委活动总结
2014/03/16 职场文书
党员教师群众路线思想汇报范文
2014/10/28 职场文书
2015年语文教研组工作总结
2015/05/23 职场文书
何玥事迹观后感
2015/06/16 职场文书
python中数组和列表的简单实例
2022/03/25 Python
如何Python使用re模块实现okenizer
2022/04/30 Python