哎,说多了都是泪;

引入相关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. chan array初始化

    package main import "fmt" func run() { chann[0] <- 1 } var chann = make([]chan int, 2) ...

  2. LabVIEW中下拉列表和枚举的区别(两点)

    第一:如图,在表示法上,下拉列表表示的数据范围要大,枚举只能是U32,U16, U8 第二:在vi的动态调用过程中,常用下拉列表,因为枚举控件不能动态的增加或者减少项目,而下拉列表则可以.

  3. Laravel 5.2 错误-----ReflectionException in compiled.php line 8572: Class App\Http\Controllers\Apih5\ZhaoshangController does not exist

    测试的时候,报错了!想不到找了半天的问题,居然是个低级错误. <?php namespace App\Http\Controllers\Apih5; use Illuminate\Http\Re ...

  4. JS中的进制转换

    1 前言 js的进制转换, 分为2进制,8进制,10进制,16进制之间的相互转换, 我们直接利用 对象.toString()即可实现. 仅作为记录. 2 代码 //10进制转为16进制 (10).to ...

  5. LVM初级配置

    步骤: 1.将物理硬盘转换成物理卷(PV) 创建PV:pvcreate /dev/vdb 2.将PV添加到卷组中(VG) vgcreate vg0 /dev/vdb 3.创建逻辑卷(LV)并从VG中调 ...

  6. linq基本操作

    一.Linq有两种语法: 1.  方法语法 2.  查询语法 下面举个例子看看这两种方法的区别 比如现在有一个学生类 public class student { public string user ...

  7. Confluence 6 从其他备份中恢复数据

    一般来说,Confluence 数据库可以从 Administration Console 或者 Confluence Setup Wizard 中进行恢复. 如果你在恢复压缩的 XML 备份的时候遇 ...

  8. 一道关于js声明变量,var和let的面试题

    function aa(flag) { // var test // 变量提升,函数最顶部 if(flag) { var test = 'hello man' } else { //此处访问 test ...

  9. vue.js----之router详解(一)

    在vue1.0版本的超链接标签还是原来的a标签,链接地址由v-link属性控制 而vue2.0版本里超链接标签由a标签被替换成了router-link标签,但最终在页面还是会被渲染成a标签的 至于为什 ...

  10. Linux基础实操六

    实操一: 临时配置网络(ip,网关,dns)+永久配置 #ifconfig ens33 192.168.145.134/24 #vim /etc/resolv.conf #route add defa ...