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 ...
随机推荐
- Python 学习笔记二
笔记二 :print 以及基本文件操作 笔记一已取消置顶链接地址 http://www.cnblogs.com/dzzy/p/5140899.html 暑假只是快速过了一遍python ,现在起开始仔 ...
- linux下一个有意思的问题(文件名以短划线或空格开头)
linux下一个有意思的问题(文件名以短划线开头) 这本是无意中的一个发现. 在linux下,文件名中含有 - 是没有问题,但是如果文件名是以-作为第一个字符的,那么就比较麻烦了. 问题演示 看这里, ...
- ccs3中icon转换为字体的方法
小图标转换为字体有几大优点 文件小,一般50k以内 避免了加载多个icons,减少了加载次数,有利于页面优化. 兼容性很好,可以随便放大缩小,都能正常显示. 维护起来也很简单,只用找到这个字体文件(比 ...
- centos6.5 网卡的处理
在centos安装后,找不到eth0/1 看了下dmesg | grep network的输出,发现不是驱动没有安装,而是重新命名了网卡. 1. 配置静态IP,修改 /etc/sysconfig/ne ...
- svn update错误
可以再checkout下来一份项目,重新命名,然后将该项目下的隐藏文件夹.svn替换掉原项目 注意备份
- CEF3开发者系列之进程间消息传递
在使用CEF3作为框架开发过程中,实现WebSockets.XMLHttpRequest.JS与本地客户端交互等功能时,需要在渲染(Render)进程和浏览(Browser)进程中传递消息.CEF3在 ...
- unity3d优化总结篇
转自http://www.unitymanual.com/thread-21597-1-1.html 此总结由自己经验及网上收集整理优化内容 包括:1.代码方面:2.函数使用方面:3.ngui注意方面 ...
- Qt 程序等待多长时间执行
#include<QElapsedTimer> QElapsedTimer t; t.start(); **; while(t.elapsed()<waitTime) { QCore ...
- buffer正确的拼接方式
var chunks = []; var size = 0; res.on('data',function(chunk){ chunks.push(chunk); size+= chunk.lengt ...
- 从inet_pton()看大小端字节序
#include<stdio.h> #include<netinet/in.h> #include<stdlib.h> #include<string.h&g ...