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 相关文章推荐
JavaScript 继承详解(四)
Jul 13 Javascript
用表格输出1-1000之间的数字实现代码(附特效)
Apr 21 Javascript
animate动画示例(泪奔的小孩)及stop和delay的使用
May 06 Javascript
JS.findElementById()使用介绍
Sep 21 Javascript
jquery实现标签上移、下移、置顶
Apr 26 Javascript
Javascript仿新浪游戏频道鼠标悬停显示子菜单效果
Aug 21 Javascript
深入理解js中this的用法
May 28 Javascript
详解JavaScript模块化开发
Dec 04 Javascript
select下拉框插件jquery.editable-select详解
Jan 22 Javascript
Bootstrap栅格系统使用方法及页面调整变形的解决方法
Mar 10 Javascript
js实现贪吃蛇游戏(简易版)
Sep 29 Javascript
JS获取一个字符串中指定字符串第n次出现的位置
Feb 10 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实现分页的一个示例
2006/10/09 PHP
解析zend Framework如何自动加载类
2013/06/28 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
2014/03/20 PHP
PHP的cURL库简介及使用示例
2015/02/06 PHP
php对象和数组相互转换的方法
2015/05/12 PHP
浅谈php中include文件变量作用域
2015/06/18 PHP
实例讲解PHP页面静态化
2018/02/05 PHP
使用TextRange获取输入框中光标的位置的代码
2007/03/08 Javascript
javascript css styleFloat和cssFloat
2010/03/15 Javascript
jquery弹出框的用法示例(2)
2013/08/26 Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
2014/06/26 Javascript
javascript检测浏览器的缩放状态实现代码
2014/09/28 Javascript
javascript实现倒计时(精确到秒)
2015/06/26 Javascript
JavaScript中定义类的方式详解
2016/01/07 Javascript
三个js循环的关键字示例(for与while)
2016/02/16 Javascript
微信小程序 教程之wxapp 视图容器 view
2016/10/19 Javascript
jQuery实现联动下拉列表查询框
2017/01/04 Javascript
原生JavaScript来实现对dom元素class的操作方法(推荐)
2017/08/16 Javascript
详解Vue webapp项目通过HBulider打包原生APP
2018/06/29 Javascript
js中split()方法得到的数组长度问题
2018/07/19 Javascript
Vue 实现列表动态添加和删除的两种方法小结
2018/09/07 Javascript
使用Vue生成动态表单
2019/11/26 Javascript
python之生产者消费者模型实现详解
2019/07/27 Python
python和php哪个更适合写爬虫
2020/06/22 Python
Django URL参数Template反向解析
2020/11/24 Python
selenium如何定位span元素的实现
2021/01/13 Python
css3 响应式媒体查询的示例代码
2019/09/25 HTML / CSS
伦敦哈德森鞋:Hudson Shoes
2018/02/06 全球购物
英国家用电器折扣网站:Electrical Discount UK
2018/09/17 全球购物
美国克罗格超市在线购物:Kroger
2019/06/21 全球购物
耐克波兰官方网站:Nike波兰
2019/09/03 全球购物
社区文化建设方案
2014/05/02 职场文书
优秀安全员事迹材料
2014/05/11 职场文书
抗洪救灾先进集体事迹材料
2014/05/26 职场文书
营业员岗位职责
2015/02/11 职场文书
解决thinkphp6(tp6)在状态码500下不报错,或者显示错误“Malformed UTF-8 characters”的问题
2021/04/01 PHP