原生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 相关文章推荐
修改发贴的编辑功能
Mar 07 Javascript
js 动态文字滚动的例子
Jan 17 Javascript
如何将JS的变量值传递给ASP变量
Dec 10 Javascript
JavaScript去除空格的三种方法(正则/传参函数/trim)
Feb 06 Javascript
IONIC自定义subheader的最佳解决方案
Sep 22 Javascript
react-native fetch的具体使用方法
Nov 01 Javascript
Vue实现PopupWindow组件详解
Apr 28 Javascript
微信小程序自定义组件之可清除的input组件
Jul 17 Javascript
jquery 验证用户名是否重复代码实例
May 14 jQuery
JS实现选项卡效果的代码实例
May 20 Javascript
vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)
Aug 17 Javascript
JS面向对象编程——ES6 中class的继承用法详解
Mar 03 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
php5.2.0内存管理改进
2007/01/22 PHP
组合算法的PHP解答方法
2012/02/04 PHP
smarty自定义函数htmlcheckboxes用法实例
2015/01/22 PHP
Yii2.0框架模型多表关联查询示例
2019/07/18 PHP
javascript显示选择目录对话框的代码
2008/11/10 Javascript
JQuery Ajax 跨域访问的解决方案
2010/03/12 Javascript
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
2011/08/09 Javascript
Javascript insertAfter() 实现函数代码
2011/10/12 Javascript
javascript实现tabs选项卡切换效果(自写原生js)
2013/03/19 Javascript
Javascript 鼠标移动上去小三角形滑块缓慢跟随效果
2013/04/26 Javascript
jquery cookie的用法总结
2013/11/18 Javascript
JavaScript简单实现鼠标拖动选择功能
2014/03/06 Javascript
弹出窗口并且此窗口带有半透明的遮罩层效果
2014/03/13 Javascript
Node.js中require的工作原理浅析
2014/06/24 Javascript
js闭包引起的事件注册问题介绍
2016/03/29 Javascript
js 动态添加元素(div、li、img等)及设置属性的方法
2016/07/19 Javascript
Node.js Stream ondata触发时机与顺序的探索
2019/03/08 Javascript
微信小程序实现动态列表项的顺序加载动画
2019/07/25 Javascript
python使用calendar输出指定年份全年日历的方法
2015/04/04 Python
requests和lxml实现爬虫的方法
2017/06/11 Python
基于Django框架利用Ajax实现点赞功能实例代码
2018/08/19 Python
Python 调用PIL库失败的解决方法
2019/01/08 Python
ipad上运行python的方法步骤
2019/10/12 Python
python实现PCA降维的示例详解
2020/02/24 Python
Python实现代码块儿折叠
2020/04/15 Python
用python实现前向分词最大匹配算法的示例代码
2020/08/06 Python
印度第一网上礼品店:IGP.com
2020/02/06 全球购物
瑞典在互联网上最大的宠物商店:Animail
2020/10/31 全球购物
中间件的定义
2016/08/09 面试题
关于随地扔垃圾的检讨书
2014/09/30 职场文书
整改报告格式
2014/11/06 职场文书
2014年会计个人工作总结
2014/11/24 职场文书
大学毕业生个人总结
2015/02/28 职场文书
公司出差管理制度范本
2015/08/05 职场文书
导游词之南京莫愁湖公园
2019/11/13 职场文书
ztree+ajax实现文件树下载功能
2021/05/18 Javascript