原生JS实现轮播图效果


Posted in Javascript onOctober 12, 2018

学习前端也有一小段时间了,当初在学习javascript的时候,练手的一个轮播图实例,轮播图也是挺常见的了。

着是通过获取图片偏移量实现的,也实现了无缝切换,还有一点问题就是没有加上图片切换的时候的延迟了。

html:

<div id="container">
  <div id="list" style="left: -600px;">
   <img src="../image/1.jpg" alt="5">
   <img src="../image/1.jpg" alt="1">
   <img src="../image/2.jpg" alt="2">
   <img src="../image/3.jpg" alt="3">
   <img src="../image/4.jpg" alt="4">
   <img src="../image/5.jpg" alt="5">
   <img src="../image/1.jpg" alt="1">
  </div>
  <div id="buttons">
    <span class="on"></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
  </div>
  <a href="javascript:;" id="prev" class="arrow"><</a>
  <a href="javascript:;" id="next" class="arrow">></a>
 </div>

js:

window.onload = function(){
 //获取元素
 var container = document.getElementById('container');
 var list = this.document.getElementById('list');
 var buttons = document.getElementById('buttons').getElementsByTagName('span');
 var prev = document.getElementById('prev');
 var next = document.getElementById('next');
 var index = 1;//默认第一个小圆点亮

 //小圆点的点亮
 function showButton() {
  //遍历小圆点的个数,当触发onclick事件后,className为‘on'的变为‘'。
  for(var i = 0;i < buttons.length; i++){
   if(buttons[i].className == 'on'){
    buttons[i].className = '';
    break;
   }
  }
  buttons[index - 1].className = 'on'; //原始第一个小圆点点亮,onclick事件触发后,index+1
 }

 function animate (offset) {
  //获取从第一张图片开始发生的偏移量
  var newLift = parseInt(list.style.left) + offset; 
  list.style.left = newLift + 'px';
  if(newLift > -600){ 
   //如果偏移量的位置大于-600的时候,图片跳转到第五张图片
   list.style.left = -3000 + 'px';
  }
  if(newLift < -3000){ 
   //如果偏移量的位置大于-3000的时候,图片跳转到第一张图片
   list.style.left = -600 + 'px';
  }
 }
 next.onclick = function () {
  //如果button的index为5的时候,再点击next按钮会返回 1;
  if(index == 5){
   index = 1;
  }else{
   index += 1;
  }
  showButton();
  animate(-600);
 }
 prev.onclick = function () {
  if(index == 1){
   index = 5;
  }else{
   index -= 1;
  }
  showButton();
  animate(600);
 }
}

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

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

Javascript 相关文章推荐
超越Jquery_01_isPlainObject分析与重构
Oct 20 Javascript
javascript中的toFixed固定小数位数 简单实例分享
Jul 12 Javascript
js实现touch移动触屏滑动事件
Apr 17 Javascript
jQuery的css() 方法使用指南
May 03 Javascript
JS实现网页游戏中滑块响应鼠标点击移动效果
Oct 19 Javascript
TypeScript Type Innference(类型判断)
Mar 10 Javascript
jQuery EasyUI基础教程之EasyUI常用组件(推荐)
Jul 15 Javascript
Vue.js路由组件vue-router使用方法详解
Dec 02 Javascript
详解vuex 中的 state 在组件中如何监听
May 23 Javascript
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
Jan 16 Javascript
vue自定义全局组件(自定义插件)的用法
Jan 30 Javascript
解决低版本的浏览器不支持es6的import问题
Mar 09 Javascript
详解KOA2如何手写中间件(装饰器模式)
Oct 11 #Javascript
Element Input组件分析小结
Oct 11 #Javascript
element el-input directive数字进行控制
Oct 11 #Javascript
详解angular2.x创建项目入门指令
Oct 11 #Javascript
详解vscode中vue代码颜色插件
Oct 11 #Javascript
微信小程序之裁剪图片成圆形的实现代码
Oct 11 #Javascript
Vue中使用ElementUI使用第三方图标库iconfont的示例
Oct 11 #Javascript
You might like
PHP 5.3新特性命名空间规则解析及高级功能
2010/03/11 PHP
php发送短信验证码完成注册功能
2015/11/24 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例
2019/02/25 PHP
js 跨域和ajax 跨域问题小结
2009/07/01 Javascript
JavaScript 嵌套函数指向this对象错误的解决方法
2010/03/15 Javascript
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
2010/04/01 Javascript
jQuery使用技巧简单汇总
2013/04/18 Javascript
用原生JavaScript实现jQuery的$.getJSON的解决方法
2013/05/03 Javascript
js的正则test,match,exec详细解析
2014/01/29 Javascript
探究Javascript模板引擎mustache.js使用方法
2016/01/26 Javascript
基于JavaScript实现在新的tab页打开url
2016/08/04 Javascript
jquery实现左右滑动式轮播图
2017/03/02 Javascript
jQuery表格(Table)基本操作实例分析
2017/03/10 Javascript
微信小程序实现图片压缩功能
2018/01/26 Javascript
代码详解javascript模块加载器
2018/03/04 Javascript
create-react-app 修改为多入口编译的方法
2018/08/01 Javascript
vue如何在项目中调用腾讯云的滑动验证码
2020/07/15 Javascript
python中的字典使用分享
2016/07/31 Python
python爬虫租房信息在地图上显示的方法
2019/05/13 Python
Django 创建后台,配置sqlite3教程
2019/11/18 Python
python实现扑克牌交互式界面发牌程序
2020/04/22 Python
thinkphp5 路由分发原理
2021/03/18 PHP
孕妇内衣和胸罩:Cake Maternity
2018/07/16 全球购物
实习自我鉴定范文
2013/10/30 职场文书
公司同意接收函
2014/01/13 职场文书
联谊活动策划书
2014/01/26 职场文书
煤矿班组长竞聘书
2014/03/31 职场文书
动物科学专业求职信
2014/07/27 职场文书
2015年学校德育工作总结
2015/04/22 职场文书
学校捐书活动总结
2015/05/08 职场文书
2015年小学一年级班主任工作总结
2015/05/21 职场文书
关于军训的感想
2015/08/07 职场文书
新年寄语2016
2015/08/17 职场文书
2016年“我们的节日·中秋节”活动总结
2016/04/05 职场文书
导游词之青岛太清宫
2019/12/13 职场文书