iscroll 4.0 滚动(水平和垂直)
1、概述
iscroll 专注于页面滚动js。Iscroll滚动做的挺好,特别是针对手机网页(android、iphone)正好弥补手动滑屏的遗缺,而今研究一番,把代码贴出来,供大家参考。
2、iscroll使用说明
初始化iScroll
wrapperhour//标识要滚动的div对应ID
iScroll myhourScroll = new iScroll('wrapperhour', {
snap: 'li',//一次滚动单位li
momentum: false,
hScrollbar: false,//水平滚动条是否显示,true显示,false隐藏
vScrollbar: false,//垂直滚动条是否显示,true显示,false隐藏
onScrollEnd: //滚动停止回调函数
function ()
{
//处理自己的逻辑代码
if (!hourisfirst)
{
var ChangeTemplet = (this.currPageY);//currPageY垂直当前坐标或者叫单元数
if (ChangeTemplet > )
ChangeTemplet =
$("#btnhour").val(ChangeTemplet);
$("#lbhour").text(ChangeTemplet);
var currobject = $("#hourlist").children()[ChangeTemplet + ];
$(currobject).attr("class", "timeselectncl");
$(currobject).siblings().each(function () { $(this).attr("class", "timeunselectclass"); });
}
else {
hourisfirst = false;
}
}
});
//初始化调用iscroll代码
document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
document.addEventListener('DOMContentLoaded', loaded, false);
//滚动到当前初始化的值
myhourScroll.scrollToElement("li:nth-child(" + hour + ")", 300);
3、水平滚动
主要分析css,利用到的关键是css position这个属性,可以参考查看potioin设置
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">
<title>家庭成员</title>
<style type="text/css">
.mfpiccontext2{position: absolute;z-index: ;width:%;top:.2em; padding:15px 0px; text-align:center;}
.mfpiccontext2 ul {width: 40em;overflow: hidden;float: left;}
.mfpiccontext2 li{ float:left; width:5em; text-align:center;}
.mfpiccontext2 li img{ width:%; border:1px solid #f78320; border-radius:38px;}
</style>
<script src="jscript/jquery-1.11.2.min.js"></script>
<script src="jscript/iscroll.js"></script>
<script type="text/javascript">
var myScroll;
function loaded() {
myScroll = new iScroll('wrapper');
}
document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
document.addEventListener('DOMContentLoaded', loaded, false); </script>
</head> <body>
<div class="picadddivtitle">滑动选择头像</div>
<div class="mfacontentdiv">
<div class=" mfpiccontext2" id="wrapper">
<ul>
<li><img src="data:images/ompic.png"/></li>
<li><img src="data:images/ompic.png"/></li>
<li><img src="data:images/ompic.png"/></li>
<li><img src="data:images/ompic.png"/></li>
<li><img src="data:images/ompic.png"/></li>
<li><img src="data:images/ompic.png"/></li>
<li><img src="data:images/ompic.png"/></li>
<li><img src="data:images/ompic.png"/></li>
</ul>
</div>
</div>
</body>
</html>
4、垂直滚动
.wrapper {
position: absolute;
top: 14em;
height: 6em;
left: ;
right: ;
overflow-y: scroll;
overflow-x: hidden;
z-index: ;} .ultime li {
text-align: center;
font-size: 1em;
height: 2em;
display: block;
line-height: .0em;
width: 4em;} <div class="wrapper">
<div class="timesetdiv" id="wrapperhour" style="overflow: hidden;">
<ul id="hourlist" class="ultime ultimeright ">
<li></li>
<li class="timeunselectclass"></li>
<li class="timeunselectclass"></li>
<li class="timeunselectclass"></li>
<li class="timeunselectclass"></li>
<li class="timeunselectclass"></li>
<li class="timeunselectclass"></li>
<li class="timeunselectclass"></li>
<li class="timeunselectclass"></li>
<li class="timeunselectclass"></li>
<li class="timeunselectclass"></li>
<li class="timeselectncl"></li>
<li class="timeunselectclass"></li>
<li class="timeunselectclass"></li>
</ul>
</div>
<div //初始化小时、分钟滚动条
$loadHourMinuteData = function (hour, minute) {
hour = hour + ;
minute = minute + ;
myhourScroll = new iScroll('wrapperhour', {
snap: 'li',
momentum: false,
hScrollbar: false,
vScrollbar: true,
onScrollEnd: function () {
if (!hourisfirst)
{
var ChangeTemplet = (this.currPageY);
if (ChangeTemplet > )
ChangeTemplet =
$("#btnhour").val(ChangeTemplet);
$("#lbhour").text(ChangeTemplet);
var currobject = $("#hourlist").children()[ChangeTemplet + ];
$(currobject).attr("class", "timeselectncl");
$(currobject).siblings().each(function () { $(this).attr("class", "timeunselectclass"); });
}
else {
hourisfirst = false;
}
}
}); myminuteScroll = new iScroll('wrapperminute', {
snap: 'li',
momentum: false,
hScrollbar: false,
vScrollbar: false,
onScrollEnd: function () {
if (!minuteisfirst) {
var ChangeTemplet = (this.currPageY);
if (ChangeTemplet > )
ChangeTemplet =
$("#btnmiute").val(ChangeTemplet);
$("#lbminute").text(ChangeTemplet)
var currobject = $("#minutelist").children()[ChangeTemplet + ];
//console.log(currobject);
$(currobject).attr("class", "timeselectncl");
$(currobject).siblings().each(function () { $(this).attr("class", "timeunselectclass"); });
}
else {
minuteisfirst = false;
}
}
});
myhourScroll.scrollToElement("li:nth-child(" + hour + ")", );
myminuteScroll.scrollToElement("li:nth-child(" + minute + ")", );
}
代码分析,灵活运用
iscroll 4.0 滚动(水平和垂直)的更多相关文章
- IOS使用 Visual Format Language 定义水平和垂直约束
定义限制条件来改变一个 UI 组件在其父视图的水平和垂直方向布局的方法. 可以使用方程式里 H:方向符号代表水平方向的边距,使用 V:方向符号代表垂直方向的边 距. 转载请注明,本文转自:http:/ ...
- div盒子水平居垂直中的几种方法
div盒子水平居垂直中的几种方法<!DOCTYPE html><html> <head> <mete charset="ut ...
- MATLAB:图像水平、垂直、水平垂直镜像、转置、旋转变换(flipdim、mirror、transp、imrotate函数)
1.原图像经水平.垂直.水平垂直镜像设置通过mirror函数实现: close all; %关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量 clear all; clc; I=imrea ...
- 使图片相对于上层DIV始终水平、垂直都居中
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 解决boostrap-table有水平和垂直滚动条时,滚动条滑到最右边表格标题和内容单元格无法对齐的问题
问题:boostrap-table有水平和垂直滚动条时,滚动条不高的时候(滚动高度比较大的时候没有问题),滚动条滑到最右边表格标题和内容单元格无法对齐的问题 问题原因:bootstrap-table源 ...
- 如何让图片相对于上层DIV始终保持水平、垂直都居中
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Android RecyclerViewSwipeDismiss:水平、垂直方向的拖曳删除item
Android RecyclerViewSwipeDismiss:水平.垂直方向的拖曳删除item RecyclerViewSwipeDismiss是一种支持RecyclerView的水平.垂直 ...
- CSS 中的各种居中 (水平、垂直)
导读: CSS 的居中有水平居中和垂直居中,这两种居中又分为行内元素居中和块级元素居中.根据父.子元素的高度是否清楚,又会使得不同的居中用不同方法.本文就其中一些情况做下简单说明,以作笔记之用,仅供大 ...
- (前端)面试300问之(2)CSS元素居中【水平、垂直、2者同时居中】
一 仅水平居中 1 行内元素 1)给父元素添加 text-align:center 即可 <div class="parent"> <span class=&qu ...
随机推荐
- Kali Linux渗透基础知识整理(一):信息搜集
写在前面的废话:最近要给一些新人做培训,整理些东西,算不上什么太高端的内容,只是简单的整理下了,我觉得对于小白的话也还算是干货.在乌云水了几年,算不上什么大神水平,最近生活费紧张,现在打算在FreeB ...
- Python学习笔记一
原来Python的文件配置好环境变量直接双击就可以运行,当然也可以控制台+编辑器 first try: import turtle window=turtle.Screen() babbage=tur ...
- minigui交叉编译整理
简介 MiniGUI 是一款面向嵌入式系统的高级窗口系统(Windowing System)和图形用户界面(Graphical User Interface,GUI)支持系统,由魏永明先生于 1998 ...
- [转]安装和使用JD-Eclipse插件
JD-Core 是一个免费的库,从一个或多个“.class”文件中 重构Java源代码.JD-Core可以用来恢复丢失的源代码,并深究Java运行时类库.支持Java 5的功能:如注释,泛型或键入“枚 ...
- linux下动态链接库解决方案(一)
1.c++无法直接调用用c写的动态链接库,如果调用的话可能需要用到一些交叉编译的知识: 2.在c++写的动态链接库无法被调用成功的反思: 在linux下,通常都是使用g++编译器("g++ ...
- unbutu下搭建FTP服务
安装 apt-get install vsftpd 启动 service vsftpd start 第一次连接的时候出了点问题,报了一个 login incorrect 530的连接错误 然后百度了一 ...
- Android应用主题与横竖屏的切换
很多App,现在都具有了横竖屏切换的功能,或者说"白天"和"黑夜"主题的切换. 实现起来也非常简单.主要需要注意的是,在切换的同时,页面的数据不能丢失,不然给用 ...
- POJ 1753 Flip game ( 高斯消元枚举自由变量)
题目链接 题意:给定一个4*4的矩阵,有两种颜色,每次反转一个颜色会反转他自身以及上下左右的颜色,问把他们全变成一种颜色的最少步数. 题解:4*4的矩阵打表可知一共有四个自由变元,枚举变元求最小解即可 ...
- iOS runtime 的经典作用
- 声明式事务-整合Spring、Hibernate
编程式事务:通过编码的方式,让事务处理的代码侵入到核心的业务代码中. 声明式事务:完成了事务处理的代码和业务核心代码的解耦合.提供事务处理代码的复用性和降低维护成本. 声明式事务:aop最典型的应用. ...