滑动选择日期(基于sui-mobile的移动端)

 1      $(page).on(‘touchmove‘,‘#touchMoveTime‘,function (event) {
 2             touchMove(event);
 3         });
 4         scrollBarInit(); //初始化
 5         function scrollBarInit() {
 6             var defaultValue = 3,maxValue = 30;
 7             var myDate = new Date();
 8             var year = myDate.getFullYear();
 9             var month = myDate.getMonth() + 1;      //获取当前月份(0-11,0代表1月)
10             var date = myDate.getDate();
11             var day = new Date(year,month,0);
12             var daycount = day.getDate(); //获取本月天数:
13             if((date + defaultValue) > daycount){
14                 if(month == 12){
15                     month = 1;
16                     year = year + 1;
17                 }else{
18                     month = month + 1;
19                 }
20                 date = (date + defaultValue) - daycount;
21             }else{
22                 date = date + defaultValue;
23             }
24             if(month < 10){
25                 month = "0"+month;
26             }
27             if(date < 10){
28                 date = "0"+date;
29             }
30
31             $("#endTime").attr(‘value‘,year+‘-‘+month+‘-‘+date);
32             var currentX = $("#touchMoveTime").width() * (0 / maxValue);
33             $(‘#scroll_Track‘).css({width:currentX+"px"});
34             $(‘#scroll_Thumb‘).css({transform:‘translate(‘ + currentX  + ‘px, 0)‘});
35
36         };
37         function touchMove(event) {
38             event.preventDefault();
39             if (!$(‘#scroll_Thumb‘) || !event.touches.length) return;
40             var defaultValue = 3,maxValue = 30;
41             var myDate = new Date();
42             var year = myDate.getFullYear();
43             var month = myDate.getMonth() + 1;      //获取当前月份(0-11,0代表1月)
44             var date = myDate.getDate();
45
46             var tran_currentX = ‘‘;
47             var startOffset = parseInt($(‘#touchMoveTime‘).offset().left);
48             var endOffset = parseInt($(‘#touchRight‘).offset().left);
49             var _limit = endOffset - startOffset;
50             var touchMoveTimeOffsetLeft = $(‘#scroll_Track‘).offset().left;
51             var touch = event.touches[0];
52             var endX = touch.pageX;
53             var currentX = endX - touchMoveTimeOffsetLeft;
54             var Timevalue = Math.round(maxValue * (currentX / $("#touchMoveTime").width()));  //当前刻度值
55             if(Timevalue < defaultValue){
56                 Timevalue = defaultValue
57             }else if(Timevalue > maxValue){
58                 Timevalue = maxValue;
59             }
60             if(currentX < _limit && currentX > 15){
61                 $(‘#days‘).text(Timevalue);
62                 $(‘#scroll_Track‘).css({width:currentX+"px"});
63                 if(currentX < 20){
64                     tran_currentX = 0
65                 }else{
66                     tran_currentX = currentX - 20;
67                 }
68                 $(‘#scroll_Thumb‘).css({transform:‘translate(‘ + tran_currentX + ‘px, 0)‘});
69
70                 var day = new Date(year,month,0);
71                 var daycount = day.getDate(); //获取本月天数
72                 if((date + Timevalue) > daycount){
73                     if(month == 12){
74                         month = 1;
75                         year = year + 1;
76                     }else{
77                         month = month + 1;
78                     }
79                     date = (date + Timevalue) - daycount;
80                 }else{
81                     date = date + Timevalue;
82                 }
83                 if(month < 10){
84                     month = "0"+month;
85                 }
86                 if(date < 10){
87                     date = "0"+date;
88                 }
89                 $(‘#endTime‘).attr(‘value‘,year+‘-‘+month+‘-‘+date);
90             }
91         }
1 <div class="clList">
2   <span class="cl-15 pull-left">3天</span>
3    <div id="touchMoveTime" class="jzrqDiv cl-70 pull-left">
4           <div id="scroll_Track"></div>
5         <div class="spirit icon" id="scroll_Thumb"></div>
6    </div>
7    <span class="cl-15 pull-left text-right" id="touchRight">30天</span>
8 </div>
1 .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);}

效果如下:

时间: 2024-11-26 09:33:53

滑动选择日期(基于sui-mobile的移动端)的相关文章

移动端前端UI库—Frozen UI、WeUI、SUI Mobile

Frozen UI 自述:简单易用,轻量快捷,为移动端服务的前端框架. 主页:http://frozenui.github.io/ 开发团队:QQVIP FD Team Github:https://github.com/frozenui/frozenui Demo:http://frozenui.github.io/frozenui/demo/index.html WeUI 自述:WeUI是一套同微信原生视觉体验一致的基础样式库,为微信 Web 开发量身设计,可以令用户的使用感知更加统一. 开

ExtJs内的datefield控件选择日期过后的事件监听select

[摘要]: 选择时间过后我们为什么需要监听事件?一般有这样一种情况,那就是用于比较两个时间大小或者需要判断在哪个时间点上需要做什么样的操作.基于这样的种种情况,我们很有必要琢磨一下datefield控件的日期选择事件了的. 那么我们如何添加日期选择事件呢?针对这样一个问题,网上有很多ExtJs的盆友想到了change事件,就是当文本框内日期值就上一次值来说不同时,触发该事件,change事件添加核心代码如下所示: { xtype: 'datefield', name: 'birthday', f

利用jquery mobiscroll插件选择日期、select、treeList的具体运用

mobiscroll是个很好用的用于移动端滑动选择的插件,可以用来选择日期,也可以用来选择简单选项或者一些复杂的树形结构的选项,简单分享下. 依赖也比较简单,引入一个mobiscroll-2.13.2.full.min.js文件和一个mobiscroll-2.13.2.full.min.css文件即可. 参考官网http://docs.mobiscroll.com 1.选择日期,先看效果图: js代码: var opt={}; opt.datetime = {}; opt.default = {

手机前端框架UI库(Frozen UI、WeUI、SUI Mobile)

Frozen UI 自述:简单易用,轻量快捷,为移动端服务的前端框架. 主页:http://frozenui.github.io/ 开发团队:QQVIP FD Team Github:https://github.com/frozenui/frozenui Demo:http://frozenui.github.io/frozenui/demo/index.html WeUI 自述:WeUI是一套同微信原生视觉体验一致的基础样式库,为微信 Web 开发量身设计,可以令用户的使用感知更加统一. 开

推荐:移动端前端UI库—Frozen UI、WeUI、SUI Mobile

Frozen UI 自述:简单易用,轻量快捷,为移动端服务的前端框架. 主页:http://frozenui.github.io/ 开发团队:QQVIP FD Team Github:https://github.com/frozenui/frozenui Demo:http://frozenui.github.io/frozenui/demo/index.html WeUI 自述:WeUI是一套同微信原生视觉体验一致的基础样式库,为微信 Web 开发量身设计,可以令用户的使用感知更加统一. 开

mui选择时间、选择日期

完整代码: <header class="mui-bar mui-bar-nav"> <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a> <h1 class="mui-title">hello</h1> </header> <div class="mui-conten

原生js日期时间插件鼠标点击文本框弹出日期时间表格选择日期时间

原文出处 (这是我从互联网上搜来的,感觉能满足各方面的需求.个人感觉挺不错的,所以后期修改了一下向大家推荐!) 效果图: html代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org

添加购物车,横向滑动选择属性

最近写的一个微信的商城系统,其他功能我都会稍后更新,这里主要更新一个横向滑动选择属性功能,注意的是,这个功能下面的第二种属性我没有随着第一种的选择变化而变化(项目比较急,没写),需要的话稍微改一下就可以, 先上效果图 就是红框里面的模块,颜色与下面的规格都是可以无限递增的,现在展示数据不多,颜色是17个,规格只有一个,颜色默认选中第二个, 下面贴代码,代码里有很多其他功能,和注释,不太涉密,都没去掉, 需要某一个块功能的话可以切一下,或者仅供参考,采用avalon渲染, <link rel=&quo

jquery 时间控件怎么能禁止输入只能选择日期?

jsp一个input输入框用的是easyui时间控件,现在问题是如何是这个input只能点击选择日期,而禁止手动输入 解决方法::: 在日期的input标签里面添加::::editable="false" 如: <form:input path="rechargeDateStart" style="width:150px" class="easyui-datetimebox"  format="yyyy-MM-