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和Asp、Php等后端程序间传值编码统一
Apr 17 Javascript
两个Javascript小tip资料
Nov 23 Javascript
JS实现div内部的文字或图片自动循环滚动代码
Apr 19 Javascript
关于页面嵌入swf覆盖div层的问题的解决方法
Feb 11 Javascript
javascript实现的一个带下拉框功能的文本框
May 08 Javascript
基于javascript实现全国省市二级联动下拉选择菜单
Jan 28 Javascript
微信小程序 template模板详解及实例
Feb 21 Javascript
css配合JavaScript实现tab标签切换效果
Oct 11 Javascript
中高级前端必须了解的JS中的内存管理(推荐)
Jul 04 Javascript
vue+springboot图片上传和显示的示例代码
Feb 14 Javascript
vue实现购物车功能(商品分类)
Apr 20 Javascript
理解Proxy及使用Proxy实现vue数据双向绑定操作
Jul 18 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
《斗罗大陆》六翼天使武魂最强,为什么老千家不是上三宗?
2020/03/02 国漫
PHP调用Linux的命令行执行文件压缩命令
2013/01/27 PHP
PHPCMS忘记后台密码的解决办法
2016/10/30 PHP
详解php框架Yaf路由重写
2017/06/20 PHP
JQuery for与each性能比较分析
2013/05/14 Javascript
jQuery实现防止提交按钮被双击的方法
2015/03/24 Javascript
详解JavaScript中的forEach()方法的使用
2015/06/08 Javascript
学习javascript面向对象 理解javascript对象
2016/01/04 Javascript
JQuery之proxy实现绑定代理方法
2016/08/01 Javascript
JS获取checkbox的个数简单实例
2016/08/19 Javascript
Vue.js第四天学习笔记(组件)
2016/12/02 Javascript
input输入密码变黑点密文的实现方法
2017/01/09 Javascript
js实现4个方向滚动的球
2017/03/06 Javascript
jQuery Validate表单验证插件实现代码
2017/06/08 jQuery
js分页之前端代码实现和请求处理
2017/08/04 Javascript
JavaScript获取tr td 的三种方式全面总结(推荐)
2017/08/15 Javascript
vue实现树形菜单效果
2018/03/19 Javascript
js+html实现周岁年龄计算器
2019/06/25 Javascript
JS实现简单随机3D骰子
2019/10/24 Javascript
微信小程序实现自定义动画弹框/提示框的方法实例
2020/11/06 Javascript
浅谈django中的认证与登录
2016/10/31 Python
python常见排序算法基础教程
2017/04/13 Python
快速解决pandas.read_csv()乱码的问题
2018/06/15 Python
对python中两种列表元素去重函数性能的比较方法
2018/06/29 Python
python闭包、深浅拷贝、垃圾回收、with语句知识点汇总
2020/03/11 Python
tensorflow指定CPU与GPU运算的方法实现
2020/04/21 Python
jupyter notebook oepncv 显示一张图像的实现
2020/04/24 Python
详解Sticky Footer 绝对底部的两种套路
2017/11/03 HTML / CSS
Carrs Silver官网:英国著名的银器品牌
2020/08/29 全球购物
Cecil Mode法国在线商店:女性时尚
2021/01/08 全球购物
班级口号大全
2014/06/09 职场文书
干部竞争上岗演讲稿
2014/09/11 职场文书
社保代办委托书怎么写
2014/10/06 职场文书
党员个人党性分析材料
2014/12/18 职场文书
人代会简报
2015/07/21 职场文书
运动会广播稿200字
2015/08/19 职场文书