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获取当前页面上的指定对象示例代码
Feb 28 Javascript
jquery实现简单Tab切换菜单效果
Jul 17 Javascript
jquery实现input框获取焦点的简单实例
Jan 26 Javascript
Vue2.0结合webuploader实现文件分片上传功能
Mar 09 Javascript
js的继承方法小结(prototype、call、apply)(推荐)
Apr 17 Javascript
jQuery属性选择器用法实例分析
Jun 28 jQuery
详解element-ui中el-select的默认选择项问题
Aug 02 Javascript
JavaScript 浏览器对象模型BOM原理与常见用法实例分析
Dec 16 Javascript
JS+CSS+HTML实现“代码雨”类似黑客帝国文字下落效果
Mar 17 Javascript
Vue双向绑定实现原理与方法详解
May 07 Javascript
js实现限定区域范围拖拉拽效果
Nov 20 Javascript
vue3中的组件间通信
Mar 31 Vue.js
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
递归列出所有文件和目录
2006/10/09 PHP
php curl 登录163邮箱并抓取邮箱好友列表的代码(经测试)
2011/04/07 PHP
php获取指定数量随机字符串的方法
2017/02/06 PHP
加载jQuery后$冲突的解决办法
2010/07/09 Javascript
jquery隐藏标签和显示标签的实例
2013/11/11 Javascript
在线一元二次方程计算器实例(方程计算器在线计算)
2013/12/22 Javascript
Javascript中的arguments与重载介绍
2015/03/15 Javascript
javascript数据结构与算法之检索算法
2015/04/04 Javascript
javascript合并表格单元格实例代码
2016/01/03 Javascript
Vue如何实现组件的源码解析
2017/06/08 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
2018/01/25 Javascript
JS设计模式之状态模式概念与用法分析
2018/02/05 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
详解如何在微信小程序开发中正确的使用vant ui组件
2018/09/13 Javascript
一个因@click.stop引发的bug的解决
2019/01/08 Javascript
利用Webpack实现小程序多项目管理的方法
2019/02/25 Javascript
es6函数之严格模式用法实例分析
2020/03/17 Javascript
vue实现下载文件流完整前后端代码
2020/11/17 Vue.js
python 字符串和整数的转换方法
2018/06/25 Python
Python运维自动化之nginx配置文件对比操作示例
2018/08/29 Python
python爬虫获取新浪新闻教学
2018/12/23 Python
浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)
2019/08/12 Python
Python matplotlib绘制饼状图功能示例
2019/09/10 Python
使用pycharm和pylint检查python代码规范操作
2020/06/09 Python
美国家具网站:Cymax
2016/09/17 全球购物
全球知名的珠宝首饰品牌:Kay Jewelers
2018/02/11 全球购物
大三毕业自我鉴定
2014/01/15 职场文书
工程造价专业大学生职业生涯规划书
2014/01/18 职场文书
上课睡觉检讨书
2014/01/28 职场文书
赡养老人协议书
2014/04/21 职场文书
幼儿教师师德师风自我剖析材料
2014/09/29 职场文书
租车协议书
2015/01/27 职场文书
乡镇一岗双责责任书
2015/01/29 职场文书
Pyhton模块和包相关知识总结
2021/05/12 Python
详解MySQL连接挂死的原因
2021/05/18 MySQL
Python中的嵌套循环详情
2022/03/23 Python