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 ...
随机推荐
- velocity +mybatis+ springMvc构建邮件服务器知识总结
1.在controller中传值到页面 (1)List<String> 类型 List<String> servers = null ; //…………………… mv.addOb ...
- Android 数据存储之 SQLite数据库存储
----------------------------------------SQLite数据库---------------------------------------------- SQLi ...
- OI总结(垃圾排版就忽略了吧)
学OI一年了,到现在联赛所需要的知识已经基本学完了.现在,有必要回过头来,总结总结自己一年来学到的知识以及得到的经验教训. 基础 语言基础 C++的语言基础啥的就略了吧. 算法复杂度分析 O:复杂度的 ...
- window.navigate 与 window.location.href 的使用区别介绍
window.navigate(sURL)方法是针对IE的,不适用于FF,在HTML DOM Window Object中,根本没有列出window.navigate方法. 要在javascript中 ...
- SQL合并多行查询到一行
示例表 tb 数据如下 id value—————1 aa1 bb2 aaa2 bbb2 ccc 第一种 SELECT id, [val]=( SELECT [value] +',' FROM tb ...
- 在asp.net mvc中上传大文件
在asp.net mvc 页面里上传大文件到服务器端,需要如下步骤: 1. 在Control类里添加get 和 post 方法 // get method public ActionResult Up ...
- php empty()和isset()
2015年12月11日 10:59:08 echo phpversion(); //5.6.13 $a = array( 'aaa' => 1, 'bbb' => 0, 'ccc' =&g ...
- Java中的try,catch(Exception e),finally及return执行顺序
结论: ①就算之前return,finally也会执行 ②finally的计算结果不影响之前的return值 ③finally的return值一定是最后的返回结果,因此将return放入finally ...
- hiho一下第二周 Trie树
题目链接:http://hihocoder.com/problemset/problem/1014 #include <iostream> #include <cstdio> ...
- 【leetcode】 search Insert Position(middle)
Given a sorted array and a target value, return the index if the target is found. If not, return the ...