移动端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 ...
随机推荐
- FS G729转码测试记录
默认情况下Freeswitch自带的G729模块是pass-through-并不支持转码.我们决定添加一个支持G729转码的模块到Freeswitch.参考自 8000HZ. 一.安装支持转码的G72 ...
- svn:Item ‘XXXXXX’ is out of date
问题描述: 工作副本没有更新到最新版本 svn: 提交失败(细节如下): svn: 目录 "D:\develop\workspace\gxcjx\src\main\resources ...
- Android获取本机号码及运营商
import android.content.Context; import android.telephony.TelephonyManager; import android.util.Log; ...
- ASP.NET MVC5高级编程 之 视图
1.1理解视图约定 当创建一个项目模版时,可以注意到,项目以一种非常具体的方式包含了一个结构化的Views目录.在每一个控制器的View文件夹中,每一个操作方法都有一个同名的视图文件与其对应.这就提供 ...
- 如何保障Web应用安全性
通过加密算法对关键数据进行加密 通过过滤器防御跨站脚本攻击XSS.跨域请求伪造CRSF和SQL注入 通过安全框架( Shiro.Spring Security )进行认证和授权 设置IP黑白名单来进行 ...
- 深度解析SpringMvc实现原理手写SpringMvc框架
http://www.toutiao.com/a6340568603607171329/?tt_from=mobile_qq&utm_campaign=client_share&app ...
- redhat7.3安装python3 pip3
首先系统自带的python是python2 我们需要安装一个python3(这里的所有源码包都可以在环境中准备好,这样没有网也可以进行安装) 安装python 1.安装环境 # yum -y inst ...
- STM32L476应用开发之六:电池SOC检测
便携式设备由于使用需求而配备了锂电池,但使用过程中需要掌握电源的状态才能保证设备正常运行.而且在电池充放电的过程中,监控电池的充放电状态也是保证设备安全的需要. 1.硬件设计 电池SOC检测是一个难题 ...
- mysql 安装问题二:mysqld: Can't create directory 'E:\Software\mysql-5.7.24-winx64\data\' (Errcode: 2 - No such file or directory)
原因:my.ini文件中的basedir(设置mysql的安装目录).datadir(设置mysql数据库的数据的存放目录)与MySQL解压后的路径不一致 解决办法: 将basedir=E:\Soft ...
- LeetCode(104):二叉树的最大深度
Easy! 题目描述: 给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点的节点. 示例:给定二叉树 [3,9,20,null, ...