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 滚动(水平和垂直)的更多相关文章

  1. IOS使用 Visual Format Language 定义水平和垂直约束

    定义限制条件来改变一个 UI 组件在其父视图的水平和垂直方向布局的方法. 可以使用方程式里 H:方向符号代表水平方向的边距,使用 V:方向符号代表垂直方向的边 距. 转载请注明,本文转自:http:/ ...

  2. div盒子水平居垂直中的几种方法

      div盒子水平居垂直中的几种方法<!DOCTYPE html><html>    <head>        <mete charset="ut ...

  3. MATLAB:图像水平、垂直、水平垂直镜像、转置、旋转变换(flipdim、mirror、transp、imrotate函数)

    1.原图像经水平.垂直.水平垂直镜像设置通过mirror函数实现: close all; %关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量 clear all; clc; I=imrea ...

  4. 使图片相对于上层DIV始终水平、垂直都居中

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. 解决boostrap-table有水平和垂直滚动条时,滚动条滑到最右边表格标题和内容单元格无法对齐的问题

    问题:boostrap-table有水平和垂直滚动条时,滚动条不高的时候(滚动高度比较大的时候没有问题),滚动条滑到最右边表格标题和内容单元格无法对齐的问题 问题原因:bootstrap-table源 ...

  6. 如何让图片相对于上层DIV始终保持水平、垂直都居中

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. Android RecyclerViewSwipeDismiss:水平、垂直方向的拖曳删除item

     Android RecyclerViewSwipeDismiss:水平.垂直方向的拖曳删除item RecyclerViewSwipeDismiss是一种支持RecyclerView的水平.垂直 ...

  8. CSS 中的各种居中 (水平、垂直)

    导读: CSS 的居中有水平居中和垂直居中,这两种居中又分为行内元素居中和块级元素居中.根据父.子元素的高度是否清楚,又会使得不同的居中用不同方法.本文就其中一些情况做下简单说明,以作笔记之用,仅供大 ...

  9. (前端)面试300问之(2)CSS元素居中【水平、垂直、2者同时居中】

    一 仅水平居中 1 行内元素 1)给父元素添加 text-align:center 即可 <div class="parent"> <span class=&qu ...

随机推荐

  1. Android 创建内容提供器(ContentResolver)

    如果想实现跨程序共享数据的功能,官方推荐的方式就是使用内容提供器,可以通过新建一个类去继承 ContentResolver 的方式来创建一个自己的内容提供器. ContentProvider 类中有六 ...

  2. Android之Toast通知的几种自定义用法

    Toast.makeText(context, str,                 Toast.LENGTH_SHORT).show();     }                       ...

  3. Arlenmbx!!!!

    我无限制的以安逸为想法 其实生活的不安逸 我所做的事情和思路到底正不正确? 我失败了? 我做不到? 我尝试做到? 我可以做到! 我能做到 我做到了我已经做到了 难道想法和现实是有区别的吗 有理想只是空 ...

  4. svn提交报错:svn: Aborting commit:XXXXXremains in conflict

    Svn服务器上的对应内容,在上次Update后已被别人修改了,而我也做了修改,造成冲突.先备份自己的修改,从SVN上取一份别人的修改覆盖自己的文件,然后合并自己的修改进去,最后Commit.可以先更新 ...

  5. SharePoint2010母版页想要的定制

    查找<div id="s4-ribbonrow" class="s4-pr s4-ribbonrowhidetitle"用style="disp ...

  6. static cross compile gtk-2.16.6+gtk-directfb+arm-linux (arm-linux-gcc-3.4.4+glib-2.3.5)

    ----------------------------------------------------------------------- In Ubuntu 10.4 Desktop and & ...

  7. 用原生DOM 遍历页面节点

    代码丢失,直接上图:

  8. 关于内核调试(Windbg)的虚拟机配置问题

    注:本文配置 环境为VMware® Workstation11.1.2 build-2780323+Windows xp SP2+Windbg 6.12.0002.63 x86 *在win7以后的操作 ...

  9. android快速开发--常用utils类

    1.日志工具类L.java package com.zhy.utils; import android.util.Log; /** * Log统一管理类 * * * */ public class L ...

  10. 【leetcode】Bitwise AND of Numbers Range(middle)

    Given a range [m, n] where 0 <= m <= n <= 2147483647, return the bitwise AND of all numbers ...