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 相关文章推荐
bcastr2.0 通用的图片浏览器
Nov 22 Javascript
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析
Mar 12 Javascript
缓动函数requestAnimationFrame 更好的实现浏览器经动画
Dec 07 Javascript
输入自动提示搜索提示功能的使用说明:sugggestion.txt
Sep 02 Javascript
jQuery给动态添加的元素绑定事件的方法
Mar 09 Javascript
javascript字符串函数汇总
Dec 06 Javascript
Vue.js中数组变动的检测详解
Oct 12 Javascript
微信小程序scroll-view仿拼多多横向滑动滚动条
Apr 21 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
May 14 Javascript
Bootstrap实现省市区三级联动(亲测可用)
Jul 26 Javascript
p5.js实现简单货车运动动画
Oct 23 Javascript
JavaScript队列结构Queue实现过程解析
Mar 07 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
基于php split()函数的用法详解
2013/06/05 PHP
php将gd生成的图片缓存到memcache的小例子
2013/06/05 PHP
4种PHP异步执行的常用方式
2015/12/24 PHP
javascript innerHTML、outerHTML、innerText、outerText的区别
2008/11/24 Javascript
JS 自动安装exe程序
2008/11/30 Javascript
一个简单的jQuery插件制作 学习过程及实例
2010/04/25 Javascript
获取内联和链接中的样式(js代码)
2013/04/11 Javascript
重写document.write实现无阻塞加载js广告(补充)
2014/12/12 Javascript
JQuery实现动态添加删除评论的方法
2015/05/18 Javascript
基于 Node.js 实现前后端分离
2016/04/23 Javascript
图文详解JavaScript的原型对象及原型链
2016/08/02 Javascript
AngularJS中指令的四种基本形式实例分析
2016/11/22 Javascript
angular实现表单验证及提交功能
2017/02/01 Javascript
整理关于Bootstrap过渡动画的慕课笔记
2017/03/29 Javascript
SpringMVC+bootstrap table实例详解
2017/06/02 Javascript
vue.js图片转Base64上传图片并预览的实现方法
2018/08/02 Javascript
vue组件命名和props命名代码详解
2019/09/01 Javascript
VSCode搭建Vue项目的方法
2020/04/30 Javascript
JavaScript实现通讯录功能
2020/12/27 Javascript
[03:03]DOTA2校园争霸赛 济南城市决赛欢乐发奖活动
2013/10/21 DOTA
[02:17]2016完美“圣”典风云人物:Sccc专访
2016/12/03 DOTA
python通过pil模块获得图片exif信息的方法
2015/03/16 Python
Python的bit_length函数来二进制的位数方法
2019/08/27 Python
Python FtpLib模块应用操作详解
2019/12/12 Python
Pytorch实现各种2d卷积示例
2019/12/30 Python
python如何把字符串类型list转换成list
2020/02/18 Python
python如何调用java类
2020/07/05 Python
2021年的Python 时间轴和即将推出的功能详解
2020/07/27 Python
python语音识别指南终极版(有这一篇足矣)
2020/09/09 Python
详解通过focusout事件解决IOS键盘收起时界面不归位的问题
2019/07/18 HTML / CSS
学期自我鉴定范文
2013/10/01 职场文书
护理职业生涯规划书
2014/01/24 职场文书
平安建设实施方案
2014/03/19 职场文书
护士节演讲稿开场白
2014/08/25 职场文书
2015年法律事务部工作总结
2015/07/27 职场文书
Pytest之测试命名规则的使用
2021/04/16 Python