• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JavaScript > 支持移动端原生js轮播图

支持移动端原生js轮播图

作者:死垃圾 字体:[增加 减小] 来源:互联网 时间:2017-05-11

死垃圾通过本文主要向大家介绍了原生js,原生js是什么意思,原生js轮播图,原生js点击事件,原生js轮播图代码等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

直接上代码,自行复制粘贴,本人是新手,欢迎指正。

<!DOCTYPE HTML>
<html lang="en-US">
<head>
  <meta charset="UTF-8">
  <title>轮播图</title>
 <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" />
 <style type="text/css">
  .container{
   width: 500px;
   height: 400px;
   overflow: hidden;
   margin: 50px auto;
   position: relative;
  }
  .list{
   width: 2500px;
   height: 400px;
   position: absolute;
   left: 0px;
  }
  .list img{
   float: left;
   height: 400px;
   width: 500px;
  }
  .buttons{
   position: absolute;
   width: 75px;
   height: 20px;
   bottom: 10px;
   left: 50%;
   margin-left: -38px;
   z-index: 2;
  }
  .buttons span{
   width: 10px;
   height: 10px;
   margin-right: 5px;
   display: inline-block;
   border-radius: 5px;
   background-color: gray;
   opacity: 0.5;
   cursor: pointer;
  }
  .buttons .on{
   background-color: rgb(255,50,50);
   opacity: 0.8;
  }
  .arrow{
   position: absolute;
   background-color: gray;
   opacity: 0.5;
   height: 40px;
   width: 40px;
   color: #fff;
   text-decoration: none;
   line-height: 40px;
   font-size: 28px;
   font-weight: 800;
   text-align: center;
  }
  #prev{
   top:50%;
   left: 10px;
   margin-top:-20px;
  }
  #next{
   top:50%;
   right: 10px;
   margin-top:-20px;
  }
 </style>
</head>
<body>
  <div id="container" class="container">
  <div id="list" class="list">
   <img src="1.jpg">
   <img src="2.jpg">
   <img src="3.jpg">
   <img src="4.jpg">
   <img src="5.jpg">
  </div>
  <div id="buttons" class="buttons">
   <span index="0" class="on"></span><!--
   --><span index="1"></span><!--
   --><span index="2"></span><!--
   --><span index="3"></span><!--
   --><span index="4"></span>
  </div>
  <a href="javascript:;" rel="external nofollow" rel="external nofollow" id="prev" class="arrow"><</a>
  <a href="javascript:;" rel="external nofollow" rel="external nofollow" id="next" class="arrow">></a>
 </div>
 <script type="text/javascript">
  window.onload = function(){
   var container = document.getElementById('container');
   var list = document.getElementById('list');
   var buttons = document.getElementById('buttons');
   var buttonsItem = buttons.getElementsByTagName('span');
   var prev = document.getElementById('prev');
   var next = document.getElementById('next');
   var index = 0;
   var startX = 0;
   var endX = 0;


   container.addEventListener('touchend',function(event){
    if(event.changedTouches.length==1&&this.getAttribute('disabled')!='disabled'){
     var touch = event.changedTouches[0];
     endX = touch.pageX;
     var offset = endX-startX;
     console.log(offset);
     if(Math.abs(offset)>=50){
      if(offset<0){// 右滑
       nextMethod();
      }else{
       prevMethod();
      }
     }
    }
   });

   container.addEventListener('touchmove',function(){
    event.preventDefault();
   })

   container.addEventListener('touchstart',function(event){
    if(event.targetTouches.length==1&&this.getAttribute('disabled')!='disabled'){ 
     var touch = event.targetTouches[0];
     startX = touch.pageX;
    }
   })

   prev.addEventListener('click',function(){ 
    if (this.getAttribute('disabled')=='disabled') {
     return false;
    }
    prevMethod();
   });

   next.addEventListener('click',function(){
    if (this.getAttribute('disabled')=='disabled') {
     return false;
    }
    nextMethod();
   });

   for(var i=0;i<buttonsItem.length;i++){
    buttonsItem[i].onclick = function(){
     if (this.getAttribute('disabled')=='disabled') {
      return false;
     }
     var i = this.getAttribute('index');
     var length = Math.abs((i-index)*500);
     var direction = 'right';
     if (length<0) {
      direction = 'left';
     }
     index = i;
     document.getElementsByClassName('on')[0].setAttribute('class','');
     buttonsItem[index].className = 'on';
     animate(direction,1,length);
    }
   }

   function prevMethod(){
    if(index==0){
     index = 4;
     animate('right',40,2000);
    }else{
     index--;
     animate('left',1,500);
    }
    document.getElementsByClassName('on')[0].setAttribute('class','');
    // buttonsItem[index].setAttribute('class','on');
    buttonsItem[index].className = 'on';
   }

   function nextMethod(){
    if(index==4){
     index = 0;
     animate('left',40,2000);
    }else{
     index++;
     animate('right',1,500);
    }
    document.getElementsByClassName('on')[0].setAttribute('class','');
    buttonsItem[index].className = 'on';
   }

   function animate(direction,speed,length){
    var end = length/speed;
    var count = 0;
    for(var i=0;i<end;i++){
      setTimeout(function(){
       count++;
       var left = list.offsetLeft;
       if (direction=='right') {
        left -= speed;
       }else{
        left += speed;
       }
       list.style.left = left+'px';
       if(count<end-1){
        disabledButtons();
       }else{
        resumeButtons();
       }
      },speed*i);
     }
   }

   function disabledButtons(){
    for(var i=0;i<5;i++){
     buttonsItem[i].setAttribute('disabled','disabled');
    }
    prev.setAttribute('disabled','disabled');
    next.setAttribute('disabled','disabled');
    container.setAttribute('disabled','disabled');
   }

   function resumeButtons(){
    for(var i=0;i<5;i++){
     buttonsItem[i].removeAttribute('disabled');
    }
    prev.removeAttribute('disabled');
    next.removeAttribute('disabled');
    container.removeAttribute('disabled');
   }
  }
 </script>
</body>
</html>
</div>

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • js绑定事件和解绑事件
  • Bootstrap.css与layDate日期选择样式起冲突的解决办法
  • 原生JS实现圆环拖拽效果
  • 原生js封装自定义滚动条
  • 原生js实现简单的Ripple按钮实例代码
  • 原生JS改变透明度实现轮播效果
  • 原生JS实现导航下拉菜单效果
  • 原生JS京东轮播图代码
  • 原生js编写2048小游戏
  • 原生js实现验证码功能

相关文章

  • 2017-05-11用jQuery实现优酷首页轮播图
  • 2017-05-11Javascript 两种刷新方法以及区别和适用范围
  • 2017-05-11详解如何在NodeJS项目中优雅的使用ES6
  • 2017-05-11利用nodejs监控文件变化并使用sftp上传到服务器
  • 2017-05-11微信小程序 实战实例开发流程详细介绍
  • 2017-05-11JavaScript定时器制作弹窗小广告
  • 2017-05-11Vue键盘事件用法总结
  • 2017-05-11AngularJS动态菜单操作指令
  • 2017-05-11JS判断指定dom元素是否在屏幕内的方法实例
  • 2017-05-11使用jQuery的ajax方法向服务器发出get和post请求的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • JavaScript中的toString()和toLocaleString()方法的区别
    • 使用Math.max,Math.min获取数组中的最值实例
    • js JSON介绍
    • JavaScript中localStorage对象存储方式实例分析
    • jQuery 全选 全不选 事件绑定的实现代码
    • 使用gulp搭建本地服务器并实现模拟ajax
    • JavaScript实现的XML与JSON互转功能详解
    • 微信小程序 swiper制作tab切换实现附源码
    • jquery,js简单实现类似Angular.js双向绑定
    • Vue.js实现简单动态数据处理

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有