JavaScript实现移动端滑动选择日期功能


Posted in Javascript onJune 21, 2016

本文实例为大家分享了JavaScript实现滑动选择日期的具体代码,供大家参考,具体内容如下

$(page).on('touchmove','#touchMoveTime',function (event) {
  touchMove(event);
 });
 scrollBarInit(); //初始化
 function scrollBarInit() {
  var defaultValue = 3,maxValue = 30;
  var myDate = new Date();
  var year = myDate.getFullYear();
  var month = myDate.getMonth() + 1; //获取当前月份(0-11,0代表1月)
  var date = myDate.getDate();
  var day = new Date(year,month,0);
  var daycount = day.getDate(); //获取本月天数:
  if((date + defaultValue) > daycount){
  if(month == 12){
   month = 1;
   year = year + 1;
  }else{
   month = month + 1;
  }
  date = (date + defaultValue) - daycount;
  }else{
  date = date + defaultValue;
  }
  if(month < 10){
  month = "0"+month;
  }
  if(date < 10){
  date = "0"+date;
  }

  $("#endTime").attr('value',year+'-'+month+'-'+date);
  var currentX = $("#touchMoveTime").width() * (0 / maxValue);
  $('#scroll_Track').css({width:currentX+"px"});
  $('#scroll_Thumb').css({transform:'translate(' + currentX + 'px, 0)'});

 };
 function touchMove(event) {
  event.preventDefault();
  if (!$('#scroll_Thumb') || !event.touches.length) return;
  var defaultValue = 3,maxValue = 30;
  var myDate = new Date();
  var year = myDate.getFullYear();
  var month = myDate.getMonth() + 1; //获取当前月份(0-11,0代表1月)
  var date = myDate.getDate();

  var tran_currentX = '';
  var startOffset = parseInt($('#touchMoveTime').offset().left);
  var endOffset = parseInt($('#touchRight').offset().left);
  var _limit = endOffset - startOffset;
  var touchMoveTimeOffsetLeft = $('#scroll_Track').offset().left;
  var touch = event.touches[0];
  var endX = touch.pageX;
  var currentX = endX - touchMoveTimeOffsetLeft;
  var Timevalue = Math.round(maxValue * (currentX / $("#touchMoveTime").width())); //当前刻度值
  if(Timevalue < defaultValue){
  Timevalue = defaultValue
  }else if(Timevalue > maxValue){
  Timevalue = maxValue;
  }
  if(currentX < _limit && currentX > 15){
  $('#days').text(Timevalue);
  $('#scroll_Track').css({width:currentX+"px"});
  if(currentX < 20){
   tran_currentX = 0
  }else{
   tran_currentX = currentX - 20;
  }
  $('#scroll_Thumb').css({transform:'translate(' + tran_currentX + 'px, 0)'});

  var day = new Date(year,month,0);
  var daycount = day.getDate(); //获取本月天数
  if((date + Timevalue) > daycount){
   if(month == 12){
   month = 1;
   year = year + 1;
   }else{
   month = month + 1;
   }
   date = (date + Timevalue) - daycount;
  }else{
   date = date + Timevalue;
  }
  if(month < 10){
   month = "0"+month;
  }
  if(date < 10){
   date = "0"+date;
  }
  $('#endTime').attr('value',year+'-'+month+'-'+date);
  }
 }
<div class="clList">
<span class="cl-15 pull-left">3天</span>
 <div id="touchMoveTime" class="jzrqDiv cl-70 pull-left">
 <div id="scroll_Track"></div>
 
  <div class="spirit icon" id="scroll_Thumb"></div>
 </div>
 <span class="cl-15 pull-left text-right" id="touchRight">30天</span>
</div>
.jzrqDiv{position:relative; top:15px; height: 10px; border-radius: 20px; background: #efefef; box-shadow:inset 0 1px 2px rgba(0,0,0,.15); }
2 #scroll_Track{ position: absolute; top:0; height: 10px; border-radius: 20px; background: #2399dc; z-index: 10;}
3 .spirit {position: absolute; top:-9px; width: 30px;height: 30px;line-height: 30px;font-size: 30px;border-radius: 50%;color: #ddd; background: #fff; z-index: 11;transform: translate(0,0);}

JavaScript实现移动端滑动选择日期功能

更多关于滑动效果的专题,请点击下方链接查看:

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

Javascript 相关文章推荐
JavaScript高级程序设计 阅读笔记(十三) js定义类或对象
Aug 14 Javascript
jQGrid Table操作列中点击【操作】按钮弹出按钮层的实现代码
Dec 05 Javascript
利用C/C++编写node.js原生模块的方法教程
Jul 07 Javascript
基于jQuery实现Ajax验证用户名是否可用实例
Mar 25 jQuery
angularjs1.5 组件内用函数向外传值的实例
Sep 30 Javascript
详解javascript 变量提升(Hoisting)
Mar 12 Javascript
基于Vue插入视频的2种方法小结
Apr 02 Javascript
layui 实现table翻页滚动条位置保持不变的例子
Sep 05 Javascript
vue 指令和过滤器的基本使用(品牌管理案例)
Nov 04 Javascript
详解JavaScript之ES5的继承
Jul 08 Javascript
解决vue中provide inject的响应式监听
Apr 19 Vue.js
JS轻量级函数式编程实现XDM二
Jun 16 Javascript
bootstrap学习笔记之初识bootstrap
Jun 21 #Javascript
Javascript实现图片加载从模糊到清晰显示的方法
Jun 21 #Javascript
Javascript类型系统之String字符串类型详解
Jun 21 #Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
Jun 21 #Javascript
JS实现简单的右下角弹出提示窗口完整实例
Jun 21 #Javascript
jQuery获取元素父节点的方法
Jun 21 #Javascript
JS图片定时翻滚效果实现方法
Jun 21 #Javascript
You might like
smarty的保留变量问题
2008/10/23 PHP
php使浏览器直接下载pdf文件的方法
2013/11/15 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
2014/06/23 PHP
PHP实现导出excel数据的类库用法示例
2016/10/15 PHP
PHP微信网页授权的配置文件操作分析
2019/05/29 PHP
php项目中类的自动加载实例讲解
2019/09/12 PHP
能说明你的Javascript技术很烂的五个原因分析
2011/10/28 Javascript
浅析jQuery对select操作小结(遍历option,操作option)
2013/07/04 Javascript
JavaScript中Cookies的相关使用教程
2015/06/04 Javascript
JavaScript ParseFloat()方法
2015/12/18 Javascript
JavaScript类型系统之基本数据类型与包装类型
2016/01/06 Javascript
老生常谈原生JS执行环境与作用域
2016/11/22 Javascript
详解用webpack2.0构建vue2.0超详细精简版
2017/04/05 Javascript
JS将unicode码转中文方法
2017/05/08 Javascript
express框架实现基于Websocket建立的简易聊天室
2017/08/10 Javascript
Express下采用bcryptjs进行密码加密的方法
2018/02/07 Javascript
vue2配置scss的方法步骤
2019/06/06 Javascript
VUE写一个简单的表格实例
2019/08/06 Javascript
layui 表单标签的校验方法
2019/09/04 Javascript
vue实现列表拖拽排序的功能
2020/11/02 Javascript
python自定义解析简单xml格式文件的方法
2015/05/11 Python
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
2018/08/30 Python
Python数据分析pandas模块用法实例详解
2019/11/20 Python
python 多进程队列数据处理详解
2019/12/23 Python
解决python 找不到module的问题
2020/02/12 Python
Python搭建Keras CNN模型破解网站验证码的实现
2020/04/07 Python
html5中audio支持音频格式的解决方法
2018/08/24 HTML / CSS
利物浦足球俱乐部官方网上商店:Liverpool FC Official Store
2018/01/13 全球购物
自我评价怎么写好呢?
2013/12/05 职场文书
自立自强的名人事例
2014/02/10 职场文书
淘宝店策划方案
2014/06/07 职场文书
2015驻村干部工作总结
2015/04/07 职场文书
试用期转正工作总结2015
2015/05/28 职场文书
python用tkinter开发的扫雷游戏
2021/06/01 Python
python中Matplotlib绘制直线的实例代码
2021/07/04 Python
使用CSS实现一个搜索引擎的原理解析
2021/09/25 HTML / CSS