基于iScroll实现内容滚动效果


Posted in Javascript onMarch 21, 2018

一、iScroll简介

iScroll 是一款针对web app使用的滚动控件,它可以模拟原生IOS应用里的滚动列表操作,还可以实现缩放、拉动刷新、精确捕捉元素、自定义滚动条等功能。这里博主使用的版本iScroll4.25,目前最新版本是iScroll5,大家可以去官网下载。
官网地址:http://iscrolljs.com/

二、iScroll使用方法

1.iScroll使用结构

最优化使用iScroll的结构一般如下所示:

HTML:

<div id="wrapper">
  <div id="scroller">
   <ul>
    <li></li>
    ...
   </ul>
   <ul>
    <li></li>
    ...
   </ul>
  </div>
 </div>

注:1、iScroll一定要与滚动内容外面的wrapper进行联系才会产生效果。
       2、只有wrapper里的第一个子元素才可以滚动。

2、实例化iScroll

iScroll必须在调用之前实例化,实例化代码如下(在head标签中添加如下代码):

<script src="iscroll.js"></script>
 <script>
  var myscroll;//myscroll是全局变量,可以任意地方调用
  function loaded(){
   myscroll = new iScroll("wrapper");
   }
  window.addEventListener("DOMContentLoaded",loaded,false);
 </script>

三、滚动测试实例

HTML+CSS:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; 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">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<script src="iscroll-4.2.5fix.js"></script><!--引入js包-->
<!--实例化iScroll-->
<script type="text/javascript">
 var myscroll;
 function loaded(){
 myscroll = new iScroll("wrapper");
 }
 window.addEventListener("DOMContentLoaded",loaded,false);
</script>
<!--CSS样式设置-->
#wrapper {
 position:absolute; z-index:1;
 top:45px; bottom:48px; left:0;
 width:100%;
 background:#aaa;
 overflow:auto;
}

#scroller {
 position:relative;
/* -webkit-touch-callout:none;*/
 -webkit-tap-highlight-color:rgba(0,0,0,0);

 float:left;
 width:100%;
 padding:0;
}

#scroller ul {
 position:relative;
 list-style:none;
 padding:0;
 margin:0;
 width:100%;
 text-align:left;
}

#scroller li {
 padding:0 10px;
 height:40px;
 line-height:40px;
 border-bottom:1px solid #ccc;
 border-top:1px solid #fff;
 background-color:#fafafa;
 font-size:14px;
}

#scroller li > a {
 display:block;
}
</style>
<title>滚动测试</title>
</head>
<body>
<div id="wrapper">
 <div id="scroller">
  <ul id="thelist">
   <li>Pretty row 1</li>
   <li id="aaa">Pretty row 2</li>
   <li>Pretty row 3</li>
   <li>Pretty row 4</li>
   <li>Pretty row 5</li>
   <li>Pretty row 6</li>
   <li>Pretty row 7</li>
   <li>Pretty row 8</li>
   <li>Pretty row 9</li>
   <li>Pretty row 10</li>
   <li>Pretty row 11</li>
   <li>Pretty row 12</li>
   <li>Pretty row 13</li>
   <li>Pretty row 14</li>
   <li>Pretty row 15</li>
   <li>Pretty row 16</li>
   <li>Pretty row 17</li>
   <li>Pretty row 18</li>
  </ul>
 </div>
</div>
</body>
</html>

四、运行效果

基于iScroll实现内容滚动效果

博主刚开始学习,局部内容滚动这只是iScroll最基本的功能,接下来博主会尝试拉动刷新等功能。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Prototype RegExp对象 学习
Jul 19 Javascript
jQuery表单获取和失去焦点输入框提示效果的实例代码
Aug 01 Javascript
js出生日期 年月日级联菜单示例代码
Jan 10 Javascript
js中的preventDefault与stopPropagation详解
Jan 29 Javascript
微信小程序 动态传参实例详解
Apr 27 Javascript
微信小程序实现即时通信聊天功能的实例代码
Aug 17 Javascript
vue.js单文件组件中非父子组件的传值实例
Sep 13 Javascript
Vue源码解析之数组变异的实现
Dec 04 Javascript
vue的路由映射问题及解决方案
Oct 14 Javascript
JS实现旋转木马轮播图
Jan 01 Javascript
vue实现简单学生信息管理
May 30 Javascript
解决新建一个vue项目过程中遇到的问题
Oct 22 Javascript
JS中的回调函数实例浅析
Mar 21 #Javascript
使用Vue制作图片轮播组件思路详解
Mar 21 #Javascript
JS实现为动态添加的元素增加事件功能示例【基于事件委托】
Mar 21 #Javascript
JS实现遍历不规则多维数组的方法
Mar 21 #Javascript
vue项目关闭eslint校验
Mar 21 #Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
Mar 21 #Javascript
使用Vue.js和Flask来构建一个单页的App的示例
Mar 21 #Javascript
You might like
PHP小技巧搜集,每个PHPer都来露一手
2007/01/02 PHP
用PHP生成html分页列表的代码
2007/03/18 PHP
PHP5函数小全(分享)
2013/06/06 PHP
PHP解析html类库simple_html_dom的转码bug
2014/05/22 PHP
PHP防止图片盗用(盗链)的方法小结
2016/11/11 PHP
php利用嵌套数组拼接与解析json的方法
2017/02/07 PHP
基于jquery扩展漂亮的下拉框可以二次修改
2013/11/19 Javascript
jquery表单插件Autotab使用方法详解
2016/06/24 Javascript
利用React-router+Webpack快速构建react程序
2016/10/27 Javascript
利用jquery去掉时光轴头尾部线条的方法实例
2017/06/16 jQuery
node vue项目开发之前后端分离实战记录
2017/12/13 Javascript
Vue EventBus自定义组件事件传递
2018/06/25 Javascript
vuex的module模块用法示例
2018/11/12 Javascript
JQuery使用数组遍历跳出each循环
2020/09/01 jQuery
详解为什么Vue中的v-if和v-for不建议一起用
2021/01/13 Vue.js
详解Python 数据库 (sqlite3)应用
2016/12/07 Python
python中使用正则表达式的后向搜索肯定模式(推荐)
2017/11/11 Python
Django csrf 验证问题的实现
2018/10/09 Python
Django应用程序入口WSGIHandler源码解析
2019/08/05 Python
解决python3 安装不了PIL的问题
2019/08/16 Python
Django 实现Admin自动填充当前用户的示例代码
2019/11/18 Python
python使用opencv在Windows下调用摄像头实现解析
2019/11/26 Python
Python爬虫之Spider类用法简单介绍
2020/08/04 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
2020/11/10 Python
Django如何重置migration的几种情景
2021/02/24 Python
Jabra捷波朗美国官网:用于办公、车载和运动的无线蓝牙耳麦
2017/02/01 全球购物
英国鲜花速递:Serenata Flowers
2018/04/03 全球购物
生物学学生自我评价
2014/01/17 职场文书
行政人事经理职位说明书
2014/03/05 职场文书
爱情保证书大全
2014/04/29 职场文书
卖车协议书范例
2014/09/16 职场文书
试用期转正后的自我评价
2014/09/21 职场文书
无罪辩护词范文
2015/05/21 职场文书
2016年秋季趣味运动会开幕词
2016/03/04 职场文书
未来,这5大方向都很适合创业
2019/07/22 职场文书
详解java如何集成swagger组件
2021/06/21 Java/Android