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 API设计的一些建议和准则
Jun 24 Javascript
js原型链与继承解析(初体验)
May 09 Javascript
JS &amp; JQuery 动态添加 select option
Jun 08 Javascript
详解vue-Resource(与后端数据交互)
Jan 16 Javascript
springMVC + easyui + $.ajaxFileUpload实现文件上传注意事项
Apr 23 Javascript
Node.js中 __dirname 的使用介绍
Jun 19 Javascript
js中变量的连续赋值(实例讲解)
Jul 08 Javascript
node.js+captchapng+jsonwebtoken实现登录验证示例
Aug 17 Javascript
vue2.0学习之axios的封装与vuex介绍
May 28 Javascript
Vue2.0仿饿了么webapp单页面应用详细步骤
Jul 08 Javascript
微信小程序实现弹出菜单动画
Jun 21 Javascript
如何基于js判断浏览器版本
Feb 20 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作的文本留言本的例子(二)
2006/10/09 PHP
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
2012/01/03 PHP
PHP file_exists问题杂谈
2012/05/07 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
2015/04/21 PHP
laravel5环境隐藏index.php后缀(apache)的方法
2019/10/12 PHP
Laravel框架下的Contracts契约详解
2020/03/17 PHP
JQuery 表格操作(交替显示、拖动表格行、选择行等)
2009/07/29 Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
2011/04/27 Javascript
JavaScript中的普通函数与构造函数比较
2015/04/07 Javascript
JavaScript中的getTimezoneOffset()方法使用详解
2015/06/10 Javascript
javascript简单实现类似QQ头像弹出效果的方法
2015/08/03 Javascript
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
使用jQuery制作基础的Web图片轮播效果
2016/04/22 Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
2016/10/10 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
vue过渡和animate.css结合使用详解
2017/06/14 Javascript
Vue 项目中遇到的跨域问题及解决方法(后台php)
2018/03/28 Javascript
Vue中使用Sortable的示例代码
2018/04/07 Javascript
基于Bootstrap下拉框插件bootstrap-select使用方法详解
2018/08/07 Javascript
微信小程序实现禁止分享代码实例
2019/10/19 Javascript
Vue开发中遇到的跨域问题及解决方法
2020/02/11 Javascript
微信小程序实现简单的select下拉框
2020/11/23 Javascript
jquery实现广告上下滚动效果
2021/03/04 jQuery
windows及linux环境下永久修改pip镜像源的方法
2016/11/28 Python
使用python实现ANN
2017/12/20 Python
通过Pandas读取大文件的实例
2018/06/07 Python
使用python爬取B站千万级数据
2018/06/08 Python
使用python opencv对目录下图片进行去重的方法
2019/01/12 Python
python语言基本语句用法总结
2019/06/11 Python
python 比较字典value的最大值的几种方法
2020/04/17 Python
魔声耳机官方网站:Monster是世界第一品牌的高性能耳机
2016/10/26 全球购物
公务员个人自我评价分享
2013/11/06 职场文书
村抢险救灾方案
2014/05/09 职场文书
网络文明传播志愿者活动方案
2014/08/20 职场文书
Mysql实现简易版搜索引擎的示例代码
2021/08/30 MySQL
JS轻量级函数式编程实现XDM三
2022/06/16 Javascript