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 相关文章推荐
静态的动态续篇之来点XML
Dec 23 Javascript
jQuery 对象中的类数组操作
Apr 27 Javascript
jQuery中的常用事件总结
Dec 27 Javascript
jquery+json实现的搜索加分页效果
Mar 31 Javascript
JavaScript中的console.time()函数详细介绍
Dec 29 Javascript
JS实现支持Ajax验证的表单插件
Mar 24 Javascript
jQuery实现鼠标经过像翻页和描点链接效果
Aug 08 Javascript
详解springmvc 接收json对象的两种方式
Dec 06 Javascript
清除输入框内的空格
Dec 21 Javascript
Bootstrap Table使用整理(一)
Jun 09 Javascript
AngularJS自定义指令详解(有分页插件代码)
Jun 12 Javascript
小程序跳转到的H5页面再跳转回跳小程序的方法
Mar 06 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
IIS6的PHP最佳配置方法
2007/03/19 PHP
php中让人头疼的浮点数运算分析
2016/10/10 PHP
利用PHP判断文件是否为图片的方法总结
2017/01/06 PHP
Python中使用django form表单验证的方法
2017/01/16 PHP
javascript延时重复执行函数 lLoopRun.js
2007/06/29 Javascript
Jquery 实现Tab效果 思路是js思路
2010/03/02 Javascript
jQuery模拟超链接点击效果代码
2013/04/21 Javascript
js网页实时倒计时精确到秒级
2014/02/10 Javascript
jQuery匹配文档链接并添加class的方法
2015/06/26 Javascript
jquery对dom节点的操作【推荐】
2016/04/15 Javascript
微信小程序  wx.request合法域名配置详解
2016/11/23 Javascript
js验证手机号、密码、短信验证码代码工具类
2020/06/24 Javascript
使用express+multer实现node中的图片上传功能
2018/02/02 Javascript
Vue实现表格中对数据进行转换、处理的方法
2018/09/06 Javascript
vue踩坑记-在项目中安装依赖模块npm install报错
2019/04/02 Javascript
详解微信小程序胶囊按钮返回|首页自定义导航栏功能
2019/06/14 Javascript
微信小程序实现滚动加载更多的代码
2019/12/06 Javascript
Vue-cli assets SubDirectory及PublicPath区别详解
2020/08/18 Javascript
Python安装Imaging报错:The _imaging C module is not installed问题解决方法
2014/08/22 Python
Python中最大最小赋值小技巧(分享)
2017/12/23 Python
Python 中字符串拼接的多种方法
2018/07/30 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
Python倒排索引之查找包含某主题或单词的文件
2019/11/13 Python
Python使用Selenium模拟浏览器自动操作功能
2020/09/08 Python
HTML5 对各个标签的定义与规定:body的介绍
2012/06/21 HTML / CSS
ghd法国官方网站:英国最受欢迎的美发工具品牌
2019/04/18 全球购物
浅谈react路由传参的几种方式
2021/03/23 Javascript
总务岗位职责
2013/11/19 职场文书
受欢迎的大学生自我评价
2013/12/05 职场文书
运动会100米解说词
2014/01/23 职场文书
高中体育教学反思
2014/01/24 职场文书
职业生涯规划书范文
2014/03/10 职场文书
党委书记群众路线对照检查材料思想汇报
2014/10/04 职场文书
大学推普周活动总结
2015/05/07 职场文书
新学期开学标语2015
2015/07/16 职场文书
MySQL8.0无法启动3534的解决方法
2021/06/03 MySQL