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 相关文章推荐
setAttribute 与 class冲突解决
Feb 17 Javascript
myeclipse安装jQuery插件的方法
Mar 29 Javascript
js获取下拉列表框中的value和text的值示例代码
Jan 11 Javascript
JSONP跨域GET请求解决Ajax跨域访问问题
Dec 31 Javascript
JavaScript判断变量是否为数组的方法(Array)
Feb 24 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
May 15 Javascript
微信小程序 HTTPS报错整理常见问题及解决方案
Dec 14 Javascript
使用jQuery的ajax方法向服务器发出get和post请求的方法
Jan 13 Javascript
jQuery Ajax全解析
Feb 13 Javascript
JavaScript门道之标准库
May 26 Javascript
使用FormData实现上传多个文件
Dec 04 Javascript
vue 使用localstorage实现面包屑的操作
Nov 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
德生S2000收音机更换“钕铁硼”全频扬声器
2021/03/02 无线电
php strnatcmp()函数的用法总结
2013/11/27 PHP
php通过exif_read_data函数获取图片的exif信息
2015/05/21 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
2015/07/15 PHP
php+ajax无刷新上传图片实例代码
2015/11/17 PHP
PHP实现的mongoDB数据库操作类完整实例
2018/04/10 PHP
javascript 密码强弱度检测万能插件
2009/02/25 Javascript
一个可绑定数据源的jQuery数据表格插件
2010/07/17 Javascript
css值转换成数值请抛弃parseInt
2011/10/24 Javascript
javascript中自定义对象的属性方法分享
2013/07/12 Javascript
详解Javascript 装载和执行
2014/11/17 Javascript
jQuery实时显示鼠标指针位置和键盘ASCII码
2016/03/28 Javascript
Bootstrap表单布局
2016/07/19 Javascript
利用javascript实现的三种图片放大镜效果实例(附源码)
2017/01/23 Javascript
javaScript动态添加Li元素的实例
2018/02/24 Javascript
Angular8 Http拦截器简单使用教程
2019/08/20 Javascript
vue中nextTick用法实例
2019/09/11 Javascript
解决Vue watch里调用方法的坑
2020/11/07 Javascript
[01:54]TI珍贵瞬间系列(五):压力
2020/08/29 DOTA
python使用ctypes模块调用windowsapi获取系统版本示例
2014/04/17 Python
python实现绘制树枝简单示例
2014/07/24 Python
使用Python编写vim插件的简单示例
2015/04/17 Python
python sys.argv[]用法实例详解
2018/05/25 Python
Python3 修改默认环境的方法
2019/02/16 Python
Python3实现汉语转换为汉语拼音
2019/07/08 Python
python中_del_还原数据的方法
2020/12/09 Python
美国知名户外用品畅销中心:Sierra Trading Post
2016/07/19 全球购物
印尼穆斯林时尚购物网站:Hijabenka
2016/12/10 全球购物
SportsDirect.com新加坡:英国第一体育零售商
2019/03/30 全球购物
MaBelle玛贝尔香港官网:香港钻饰连锁店
2019/09/09 全球购物
会计专业毕业生自我评价
2013/09/25 职场文书
优质的学校老师推荐信
2013/10/28 职场文书
青春演讲稿范文
2014/05/08 职场文书
安全施工责任书
2014/08/25 职场文书
卫生厅领导班子党的群众路线教育实践活动整改措施
2014/09/20 职场文书
无财产离婚协议书范本
2014/10/28 职场文书