移动端iscroll实现日期选择
哎,说多了都是泪;
引入相关JS文件
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="js/iscroll.js"></script>
样式
/*日期选择*/
.date{
position: fixed;
top: 0;
width: 100%;
height: 100%;
display: none;
background-color:rgba(0,0,0,.3);
}
.date .date-piker{
width:750px;
background-color:#fff;
font-size:26px;
position:absolute;
bottom:0
}
.date .date-piker .tit{
height:80px;
line-height:80px;
background-color:#f4f4f4;
color:#474747;
padding:0 26px;
text-align:center
}
.date .date-piker .tit a{
color:#ff6315;
float:left
}
.date .date-piker .tit a:last-child{
float:right
}
.date .time-box{
height: 420px;
overflow: hidden;
position: relative;
width: 100%;
padding:0 45px
}
.date .time-choose{
height: 70px;
border-top:1px solid #efefef;
border-bottom:1px solid #efefef;
position: absolute;
top: 140px;
left:-90px;
width: 100%;
background-color:#fff
}
.date .time-01, .time-02, .time-03{
position:absolute;
z-index: 3;
height:420px;
overflow:hidden
}
.date .time-02{
left:240px
}
.date .time-03{
left:480px
}
.date .time-box li{
height:70px;
line-height:70px;
color:#474747;
text-align: center;
font-family:Helvetica;
width: 220px
}
HTML代码实现
<div class="date">
<div class="date-piker">
<div class="tit"><a id="kidding">取消</a><span>保养时间</span><a id="sure">确定</a></div>
<div class="time-box">
<div class="time-choose"></div>
<div class="time-01" id="month">
<div>
<ul>
<li></li>
<li></li> <li>4月</li>
<li>5月</li>
<li>6月</li>
<li>7月</li> <li></li>
<li></li>
<li></li>
</ul>
</div>
</div>
<div class="time-02" id="date">
<div>
<ul>
<li></li>
<li></li>
<li>1日</li>
<li>2日</li>
<li>3日</li>
<li>4日</li>
<li>5日</li> <li></li>
<li></li>
</ul>
</div>
</div>
<div class="time-03" id="time">
<div>
<ul>
<li></li>
<li></li> <li>10:00</li>
<li>15:00</li>
<li>16:00</li>
<li>17:00</li>
<li>18:00</li> <li></li>
<li></li>
<li></li>
</ul>
</div>
</div>
</div>
</div>
</div>
JS效果添加
/*日期选择*/
/*此处存在问题 这个时间上 关于月份 每个天数都不一样 需要动态生成*/
$('.date_sure').click(function(){
$('.date').show();
//滚动效果
scrolling(); //确认结果
$('#sure').click(function(){
if(getContent("#month")){
//获取各个div中ul li中选中的内容
$('.date_sure').html(getContent("#month") +getContent("#date")+' '+ getContent("#time"));
$('.date').hide();
}
});
$('#kidding').click(function(){
$('.date').hide();
});
var myScroll; function scrolling(){
myScroll = new IScroll('#date', {
scrollY: true,
momentum: false,
snap: 'li'
});
myScroll = new IScroll('#time', {
scrollY: true,
momentum: false,
snap: 'li'
});
myScroll = new IScroll('#month', {
scrollY: true,
momentum: false,
snap: 'li'
}); } function getContent(ele){
//找到里层div
var $content = $(ele).find('div');
//获取一个li的高度
var _height=$(ele).find('li').height();
//为内层div添加transform移动效果
var tran = $content.css('transform');
var topArray=[];
//将获取到的内容 变成数组 最后一个为移动距离top
topArray=tran.split(',');
var top=Math.floor(parseFloat(topArray[5]));
//获取到移动的个数 减去空的两个li
var num=top/_height-2;
//返回对应选择出来的li的内容
return $(ele+" li").eq(-num).text();
}
});
完成了 这个日期的选择
移动端iscroll实现日期选择的更多相关文章
- 【转载】jQuery手机移动端触屏日历日期选择
文章转载自 科e互联 http://www.internetke.com/ 原文链接:http://www.internetke.com/effects/css3/2015/0120/1222.htm ...
- 纯原生js移动端日期选择插件
最近在项目上需要使用日期选择插件,由于是移动端的项目,对请求资源还是蛮节约的,可是百度上一搜,诶~全是基于jquery.zepto的,本来类库就很大,特别像mobiscroll这种样式文件一大堆又丑又 ...
- jquery mobiscroll移动端日期选择控件(无乱码)
jquery mobiscroll移动端日期选择控件(无乱码) <pre><!DOCTYPE html><html lang="en">< ...
- 用c/c++混合编程方式为ios/android实现一个自绘日期选择控件(一)
本文为原创,如有转载,请注明出处:http://www.cnblogs.com/jackybu 前言 章节: 1.需求描述以及c/c++实现日期和月历的基本操作 2.ios实现自绘日期选择控件 3.a ...
- 移动端material风格日期时间选择器
原文 好多时候在移动端需要一个的日期选择器,由于在应用上有可能应用各种框架库(Vue.js, React.js, zepto.js等):所以说一个无依赖的,这样易于上层进行封装.直接开门见山,先来张动 ...
- webapp中的日期选择
你是否在开发webapp时,选择用哪种第三方日期选择控件绞尽脑汁? 其实不用那么麻烦,现在移动端都是WebKit内核,支持HTML5,其实只要弱弱的将input中将type="date&qu ...
- 移动设备日期选择插件(基于JQUERY)
上周花了2个小时写的一个日期选择插件,比较适合移动端的设备.先看个效果图吧.如果刚好是你需要的就往下吧,不需要的也可以继续..... 其实网络上已经有的了类似的成熟插件,比如基于mobiscroll, ...
- 推荐三款日期选择插件(My97DatePicker+jquery.datepicker+Mobiscroll)
1.My97DatePicker 纯原生JS,专注于PC端,支持IE6+:页面上只需要引入WdatePicker.js文件,但是My97DatePicker整个目录是一个整体,最好不要破坏里面的目录结 ...
- vue 移动端轻量日期组件不依赖第三方库
Vue版移动端日期选择组件 1.优点:不需要依赖其他第三方库,灵活可配置: 不需要依赖第三方组件的vue日期移动端组件 小轮子 轻量可复用: https://github.com/BeckReed ...
随机推荐
- GO 新开发者要注意的陷阱和常见错误
转自:http://colobu.com/2015/09/07/gotchas-and-common-mistakes-in-go-golang/ 初级 开大括号不能放在单独的一行 未使用的变量 未使 ...
- Light OJ 1020
简单推理题: #include<bits/stdc++.h> using namespace std; int main() { int T, n; string Name; cin &g ...
- JS ----实现复制粘贴功能 (剪切板应用clipboardData)
注意:ie7,与ie8 对网页有个复制的权限,需在“安全”中的“自定义级别”的脚本中设置 clipboardData 对象 提供了对剪贴板的访问. 三个方法 :1.clearData(sDataFor ...
- Django 中间件 请求前
中间件: class TestMiddleware(object): """中间件类""" def __init__(self): &quo ...
- grep匹配某个次出现的次数
cat file | grep -c 'xxx' 统计xxx在file中出现的行数 cat file | grep -o 'xxx' 统计xxx在file中出现的次数
- LuoGu P2420 让我们异或吧
其实......这就是个SB题,本来看到这个题,和树上路径有关 于是--我就欣喜地打了一个树剖上去,结果嘞,异或两遍等于没异或 所以这题和LCA屁关系都没有,所以这题就是个树上DFS!!!! 所以它为 ...
- swift 学习- 15 -- 构造过程 01
// 构造过程 是使用类,结构体 或 枚举类型的实例之前的准备过程, // 在新实例可用前必须执行这个过程, 具体操作包括 设置实例中每个存储型属性的初始值 和 执行其他必须的设置 或 初始化工作 / ...
- Swift 学习- 06 -- 控制流
// 控制流 // swift 提供了多种控制流结构,包括可以多次执行的 while 循环,基于特定条件选择执行不同分支的 if, guard 和 switch 语句,还有控制流程跳转到其它代码位置的 ...
- Confluence 6 WebDAV 禁用严格路径检查
如果你在你的 WebDAV 客户端发现了一些不正常的现象,例如文件夹在 Confluence 中是存在的,但是在你客户端下载的文件中就不存在了.你可以禁用 WebDAV 插件中的严格路径检查选项,这 ...
- python 与mongodb 交互
创建管理员 1 > use admin 2 switched to db admin 3 > db 4 admin 5 > db.createUser({user:'admin',p ...