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常考语句107条收集
Mar 09 Javascript
jquery中的$(document).ready()使用小结
Feb 14 Javascript
jQuery+PHP实现可编辑表格字段内容并实时保存
Oct 09 Javascript
通过隐藏iframe实现无刷新上传文件操作
Mar 16 Javascript
Node.js实用代码段之获取Buffer对象字节长度
Mar 17 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
Apr 15 Javascript
Bootstrap模态对话框的简单使用
Apr 29 Javascript
vue.js实现含搜索的多种复选框(附源码)
Mar 23 Javascript
JS实现的DOM插入节点操作示例
Apr 04 Javascript
JS执行控制之节流模式实例分析
Dec 21 Javascript
vue分页器组件编写方法详解
Jun 28 Javascript
Javascript webpack动态import
Apr 19 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
基于wordpress主题制作的具体实现步骤
2013/05/10 PHP
邮箱正则表达式实现代码(针对php)
2013/06/21 PHP
php生成shtml类用法实例
2014/12/09 PHP
Yii 使用intervention/image拓展实现图像处理功能
2019/06/22 PHP
Ext grid 添加右击菜单
2009/11/26 Javascript
jquery绑定原理 简单解析与实现代码分享
2011/09/06 Javascript
js实现点小图看大图效果的思路及示例代码
2013/10/28 Javascript
JS JQUERY实现滚动条自动滚到底的方法
2015/01/09 Javascript
jquery中animate的stop()方法作用实例分析
2015/01/30 Javascript
Nodejs学习item【入门手上】
2016/05/05 NodeJs
实现React单页应用的方法详解
2016/08/02 Javascript
Javarscript中模块(module)、加载(load)与捆绑(bundle)详解
2017/05/28 Javascript
分享vue.js devtools遇到一系列问题
2017/10/24 Javascript
js将当前时间格式化为 年-月-日 时:分:秒的实现代码
2018/01/20 Javascript
通过js动态创建标签,并设置属性方法
2018/02/24 Javascript
jQuery实现图片上传预览效果功能完整实例【测试可用】
2018/05/28 jQuery
10分钟彻底搞懂Http的强制缓存和协商缓存(小结)
2018/08/30 Javascript
使用FormData实现上传多个文件
2018/12/04 Javascript
在Vue项目中使用snapshot测试的具体使用
2019/04/16 Javascript
JS 封装父页面子页面交互接口的实例代码
2019/06/25 Javascript
ES6 Set结构的应用实例分析
2019/06/26 Javascript
Python批量修改文件后缀的方法
2014/01/26 Python
python的Template使用指南
2014/09/11 Python
apache部署python程序出现503错误的解决方法
2017/07/24 Python
实例讲解Python中整数的最大值输出
2019/03/17 Python
基于Python的Post请求数据爬取的方法详解
2019/06/14 Python
使用Django搭建web服务器的例子(最最正确的方式)
2019/08/29 Python
numpy 返回函数的上三角矩阵实例
2019/11/25 Python
python的flask框架难学吗
2020/07/31 Python
Python代码注释规范代码实例解析
2020/08/14 Python
希腊香水和化妆品购物网站:Parfimo.gr
2019/10/03 全球购物
数百万免费的图形资源:Freepik
2020/09/21 全球购物
热爱祖国演讲稿
2014/05/04 职场文书
党的群众路线教育实践活动督导组工作情况汇报
2014/10/28 职场文书
三方合作意向书范本
2015/05/09 职场文书
为什么 Nginx 比 Apache 更牛逼
2021/03/31 Servers