JS实现轮播图效果


Posted in Javascript onJanuary 11, 2020

本文实例为大家分享了JS实现轮播图展示的具体代码,供大家参考,具体内容如下

原理介绍

1.html 

<div id="swiper-container" class="swiper-container" onmouseenter="swiperImg()" onmouseleave="stopSwiper()">
  <div id="img-list" style="left:0px;">
   <img src="img/swiper1.png" alt="1">
   <img src="img/swiper2.png" alt="2">
   <img src="img/swiper1.png" alt="1">
   <img src="img/swiper2.png" alt="2">
  </div>
  <div id="swiper-btn">
   <span index="1" class="on"></span>
   <span index="2"></span>
  </div>
</div>

布局很简单,利用一个class="swiper-container"的div,包裹图片列表,swiper-btn是按钮

2. css

* {
  margin: 0;
  padding: 0;
 }

 a {
  text-decoration: none;
 }

 .swiper-container {
  position: relative;
  width: 300px;
  height: 300px;
  margin: 0 auto;
  border: 1px solid;
  overflow: hidden;
 }

 #img-list {
  position: absolute;
  width: 1200px;
  height: 300px;
 }

 #img-list img {
  float: left;
 }

 #swiper-btn {
  position: absolute;
  bottom: 5%;
  left: 45%;
 }

 #swiper-btn span {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 5px;

 }

 .on {
  background-color: goldenrod;
 }

 span {
  background-color: #d7d7d7;
 }

3.js

var timer;
  var div = document.getElementById('img-list');
  var span = document.getElementById('swiper-btn').getElementsByTagName('span');
  var offset = -300;
  var index = 1;
  function swiperImg() {
   timer = setInterval(() => {
    var left = parseInt(div.style.left);
    var newLeft = left + offset;
    if (newLeft <= -1200) {
     div.style.left = '0px';
    }
    else {
     div.style.left = newLeft + 'px';
    }
    showBtn(parseInt(div.style.left));
   }, 3000);
  }

  function showBtn(left) {
   if (left == 0 || left == -600) {
    span[0].className = "on";
    span[1].className = "";
   }
   else {
    span[0].className = "";
    span[1].className = "on";
   }
  }

  function stopSwiper() {
   clearInterval(timer);
  }

  for (var i = 0; i < span.length; i++) {
   span[i].onclick = function () {
    if (this.className == "on") {
     return false;
    }
    var myIndex = parseInt(this.getAttribute("index"));
    if (myIndex == 1)
     div.style.left = 0 + 'px';
    if (myIndex == 2)
     div.style.left = -300 + 'px';
    index = myIndex;
    showButton();
   }
  }

  function showButton() {
   for (var i = 0; i < span.length; i++) { //全部取消掉on样式
    if (span[i].className == "on") {
     span[i].className = "";
     break;
    }
   }
   span[index - 1].className = "on";
  }

效果如下所示:

JS实现轮播图效果

JS实现轮播图效果

更多关于轮播图效果的专题,请点击下方链接查看学习

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

Javascript 相关文章推荐
发两个小东西,ASP/PHP 学习工具。 用JavaScript写的
Apr 12 Javascript
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
Jun 25 Javascript
jQuery学习笔记 获取jQuery对象
Sep 19 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
Jul 02 Javascript
Javascript中克隆一个数组的实现代码
Dec 06 Javascript
TypeScript 学习笔记之基本类型
Jun 19 Javascript
jQuery实现html元素拖拽
Jul 21 Javascript
轻松学习jQuery插件EasyUI EasyUI创建菜单与按钮
Nov 30 Javascript
详解vue 不同环境配置不同的打包命令
Apr 07 Javascript
微信js-sdk 录音功能的示例代码
Nov 01 Javascript
JavaScript Window浏览器对象模型原理解析
May 30 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
Jun 04 Javascript
js实现带搜索功能的下拉框
Jan 11 #Javascript
js实现select下拉框选择
Jan 11 #Javascript
js实现二级联动简单实例
Jan 11 #Javascript
jQuery实现轮播图效果demo
Jan 11 #jQuery
详解微信小程序中var、let、const用法与区别
Jan 11 #Javascript
jQuery擦除插件eraser使用方法详解
Jan 11 #jQuery
详解javascript中var与ES6规范中let、const区别与用法
Jan 11 #Javascript
You might like
PHP 事务处理数据实现代码
2010/05/13 PHP
PHP随机字符串生成代码(包括大小写字母)
2013/06/24 PHP
解析linux下安装memcacheq(mcq)全过程笔记
2013/06/27 PHP
PHP中加密解密函数与DES加密解密实例
2014/10/17 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
2015/10/09 PHP
thinkPHP中volist标签用法示例
2016/12/06 PHP
PHP性能分析工具xhprof的安装使用与注意事项
2017/12/19 PHP
DOM下的节点属性和操作小结
2009/05/14 Javascript
让firefox支持IE的一些方法的javascript扩展函数代码
2010/01/02 Javascript
javascript一个无懈可击的实例化XMLHttpRequest的方法
2010/10/13 Javascript
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
2011/04/07 Javascript
js改变文章字体大小的实例代码
2013/11/27 Javascript
JS实现的用来对比两个用指定分隔符分割的字符串是否相同
2014/09/19 Javascript
JavaScript link方法入门实例(给字符串加上超链接)
2014/10/17 Javascript
JavaScript实现页面定时刷新(定时器,meta)
2016/10/12 Javascript
BootStrap下的弹出框加载select2框架失败的解决方法
2017/08/31 Javascript
在Swiper内如何制作CSS3动画效果示例代码
2017/12/07 Javascript
webpack搭建vue 项目的步骤
2017/12/27 Javascript
Python字符串替换实例分析
2015/05/11 Python
解决pytorch GPU 计算过程中出现内存耗尽的问题
2019/08/19 Python
python、PyTorch图像读取与numpy转换实例
2020/01/13 Python
python numpy数组中的复制知识解析
2020/02/03 Python
Python图像处理库PIL的ImageDraw模块介绍详解
2020/02/26 Python
python实现邮件循环自动发件功能
2020/09/11 Python
HTML5的Video标签有部分MP4无法播放的问题解析(多图)
2017/08/18 HTML / CSS
如何向接受结构参数的函数传入常数值
2016/02/17 面试题
教师实习期自我鉴定
2013/10/06 职场文书
城市精细化管理实施方案
2014/03/04 职场文书
全国文明单位申报材料
2014/05/31 职场文书
公司任命书范本
2014/06/04 职场文书
人代会标语
2014/06/30 职场文书
大学生赌博检讨书
2014/09/22 职场文书
关于学习的决心书
2015/02/05 职场文书
项目经理岗位职责范本
2015/04/01 职场文书
2019学校请假条格式及范文
2019/06/25 职场文书
《三国志》赏析
2019/08/27 职场文书