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 select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
Dec 19 Javascript
使用JQuery和CSS模拟超链接的用户单击事件的实现代码
May 23 Javascript
jQuery操作select的实例代码
Jun 14 Javascript
jquery全选checkBox功能实现代码(取消全选功能)
Dec 10 Javascript
创建、调用JavaScript对象的方法集锦
Dec 24 Javascript
JavaScript读二进制文件并用ajax传输二进制流的方法
Jul 18 Javascript
Javascript的动态增加类的实现方法
Oct 20 Javascript
Vuejs 组件——props数据传递的实例代码
Mar 07 Javascript
Bootstrap学习笔记 轮播(Carousel)插件
Mar 21 Javascript
利用js给datalist或select动态添加option选项的方法
Jan 25 Javascript
原生JS实现的双色球功能示例
Feb 02 Javascript
Vuex 在Vue 组件中获得Vuex 状态state的方法
Aug 27 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水印
2007/03/16 PHP
php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
2011/07/12 PHP
PHP安全性漫谈
2012/06/28 PHP
php自动加载autoload机制示例分享
2014/02/20 PHP
php.ini save_handler 修改不生效的解决办法
2014/07/22 PHP
PHP7正式版测试,性能惊艳!
2015/12/08 PHP
对laravel的session获取与存取方法详解
2019/10/08 PHP
实例解析jQuery工具函数
2016/12/01 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
2017/07/05 Javascript
简单实现jQuery上传图片显示预览功能
2020/06/29 jQuery
微信小程序实现红包雨功能
2018/07/11 Javascript
详解javascript appendChild()的完整功能
2018/08/18 Javascript
vue组件表单数据回显验证及提交的实例代码
2018/08/30 Javascript
详解ng-alain动态表单SF表单项设置必填和正则校验
2019/06/11 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
JavaScript异步操作的几种常见处理方法实例总结
2020/05/11 Javascript
[01:11:08]Winstrike vs NB 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
举例详解Python中threading模块的几个常用方法
2015/06/18 Python
简单了解python模块概念
2018/01/11 Python
python MNIST手写识别数据调用API的方法
2018/08/08 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
2018/12/04 Python
Python实现生成密码字典的方法示例
2019/09/02 Python
Python requests模块session代码实例
2020/04/14 Python
贝嫂喜欢的婴儿品牌,个性化的婴儿礼物:My 1st Years
2017/11/19 全球购物
俄罗斯披萨、寿司和面食送货到家服务:2 Берега
2019/12/15 全球购物
介绍一下Prototype的$()函数,$F()函数,$A()函数都是什么作用?
2014/03/05 面试题
医学专业职业生涯规划范文
2014/02/05 职场文书
《蜗牛》教学反思
2014/02/18 职场文书
乡镇消防安全责任书
2014/07/23 职场文书
党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
2014最新实习证明模板
2014/10/02 职场文书
群众路线党员个人剖析材料
2014/10/08 职场文书
nginx反向代理时如何保持长连接
2021/03/31 Servers
详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
2021/12/06 MySQL
Vue OpenLayer 为地图绘制风场效果
2022/04/24 Vue.js
springboot 全局异常处理和统一响应对象的处理方式
2022/06/28 Java/Android