哎,说多了都是泪;

引入相关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实现日期选择的更多相关文章

  1. 【转载】jQuery手机移动端触屏日历日期选择

    文章转载自 科e互联 http://www.internetke.com/ 原文链接:http://www.internetke.com/effects/css3/2015/0120/1222.htm ...

  2. 纯原生js移动端日期选择插件

    最近在项目上需要使用日期选择插件,由于是移动端的项目,对请求资源还是蛮节约的,可是百度上一搜,诶~全是基于jquery.zepto的,本来类库就很大,特别像mobiscroll这种样式文件一大堆又丑又 ...

  3. jquery mobiscroll移动端日期选择控件(无乱码)

    jquery mobiscroll移动端日期选择控件(无乱码) <pre><!DOCTYPE html><html lang="en">< ...

  4. 用c/c++混合编程方式为ios/android实现一个自绘日期选择控件(一)

    本文为原创,如有转载,请注明出处:http://www.cnblogs.com/jackybu 前言 章节: 1.需求描述以及c/c++实现日期和月历的基本操作 2.ios实现自绘日期选择控件 3.a ...

  5. 移动端material风格日期时间选择器

    原文 好多时候在移动端需要一个的日期选择器,由于在应用上有可能应用各种框架库(Vue.js, React.js, zepto.js等):所以说一个无依赖的,这样易于上层进行封装.直接开门见山,先来张动 ...

  6. webapp中的日期选择

    你是否在开发webapp时,选择用哪种第三方日期选择控件绞尽脑汁? 其实不用那么麻烦,现在移动端都是WebKit内核,支持HTML5,其实只要弱弱的将input中将type="date&qu ...

  7. 移动设备日期选择插件(基于JQUERY)

    上周花了2个小时写的一个日期选择插件,比较适合移动端的设备.先看个效果图吧.如果刚好是你需要的就往下吧,不需要的也可以继续..... 其实网络上已经有的了类似的成熟插件,比如基于mobiscroll, ...

  8. 推荐三款日期选择插件(My97DatePicker+jquery.datepicker+Mobiscroll)

    1.My97DatePicker 纯原生JS,专注于PC端,支持IE6+:页面上只需要引入WdatePicker.js文件,但是My97DatePicker整个目录是一个整体,最好不要破坏里面的目录结 ...

  9. vue 移动端轻量日期组件不依赖第三方库

    Vue版移动端日期选择组件 1.优点:不需要依赖其他第三方库,灵活可配置: 不需要依赖第三方组件的vue日期移动端组件  小轮子 轻量可复用:  https://github.com/BeckReed ...

随机推荐

  1. php的ts和nts安装包

    2017-12-29 15:17:05 星期五 翻译一下PHP对 ts , nts 的解释 官网说明地址:  http://windows.php.net/download  (windows下载页左 ...

  2. linux 查看nginx如何启动

    执行命令: ps -A | grep nginx如果返回结果的话,说明有nginx在运行,服务已经启动

  3. centOS docker运行Asp.net Core程序

    [root@localhost chenhua]# docker run -it --rm -p : --name aspnetcore_sample microsoft/dotnet-samples ...

  4. Spring initializr使用

    Spring initializr 是Spring 官方提供的一个很好的工具,用来初始化一个Spring boot 的项目. 有两种方式可以使用Spring initializr来创建一个项目: ht ...

  5. PHP中$_POST和$_GET的用法

    post和get是指:页面提交的两种方式get:参数都体现在url上,可以用于翻页,简单查询,get只能接收2M以下的内容,所以有局限性,另外由于内容是可见的,安全性就下降了,post:用于页面表单 ...

  6. CDH 元数据库升级

    元数据库设计到的服务:scm库:server  hive库:hive  amon库:cloudera management服务 元数据库要从5.7.24升级到5.7.25,为了避免升级失败导致 集群不 ...

  7. 【MySql】Group By数据分组

    GROUP BY 语句根据一个或多个列对结果集进行分组. 在分组的列上我们可以使用 COUNT, SUM, AVG,等函数. 因为聚合函数通过作用于一组数据而只返回一个单个值, 因此,在SELECT语 ...

  8. Confluence 6 管理协同编辑 - 代理和 SSL 的考虑

    对于你如何连接  Synchrony 是与你的环境有关的.我们知道绝大部分的 Confluence 站点是运行在反向代理后面的,同时还使用了 SSL.这里是帮助你在你环境中识别正确的配置的一些信息和一 ...

  9. Confluence 6 缓存状态

    Confluence 为系统的内部缓存提供了缓存的状态以便于你对缓存的大小的命中率进行跟踪,在必要的情况下,你可以对缓存进行调整,让缓存能够更好的满足你的使用需求.请查看 Performance Tu ...

  10. Confluence 6 通过 SSL 或 HTTPS 运行 - 修改你 Confluence 的 server.xml 文件

    下一步你需要配置 Confluence 来使用 HTTPS: 编辑 <install-directory>/conf/server.xml 文件. 取消注释下面的行: <Connec ...