基于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 相关文章推荐
JavaScript读取中文cookie时的乱码问题的解决方法
Oct 14 Javascript
5秒后跳转效果(setInterval/SetTimeOut)
May 03 Javascript
AngularJS 所有版本下载地址
Sep 14 Javascript
JS实现重新加载当前页面
Nov 29 Javascript
微信小程序 tabs选项卡效果的实现
Jan 05 Javascript
JavaScript中Promise的使用详解
Feb 26 Javascript
浅谈js使用in和hasOwnProperty获取对象属性的区别
Apr 27 Javascript
vue-cli的工程模板与构建工具详解
Sep 27 Javascript
vue拖拽排序插件vuedraggable使用方法详解
Aug 21 Javascript
vue-cli 3.x配置跨域代理的实现方法
Apr 12 Javascript
vue动态子组件的两种实现方式
Sep 01 Javascript
在Vue中使用CSS3实现内容无缝滚动的示例代码
Nov 27 Vue.js
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文件缓存类汇总
2014/11/21 PHP
WordPress开发中短代码的实现及相关函数使用技巧
2016/01/05 PHP
laravel框架上传图片实现实时预览功能
2019/10/14 PHP
jquery getScript动态加载JS方法改进详解
2012/11/15 Javascript
jquery如何改变html标签的样式(两种实现方法)
2013/01/16 Javascript
js跑步算法的实现代码
2013/12/04 Javascript
js 3秒后跳转页面的实现代码
2014/03/10 Javascript
js中一维数组和二位数组中的几个问题示例说明
2014/07/17 Javascript
jquery实现鼠标点击后展开列表内容的导航栏效果
2015/09/14 Javascript
Bootstrap的class样式小结
2016/12/01 Javascript
js定时器实例分享
2016/12/20 Javascript
微信小程序登录态控制深入分析
2017/04/12 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
2017/04/27 Javascript
获取当前按钮或者html的ID名称实例(推荐)
2017/06/23 Javascript
Nodejs 和 Electron ubuntu下快速安装过程
2018/05/04 NodeJs
使用Vuex解决Vue中的身份验证问题
2018/09/28 Javascript
JavaScript碎片—函数闭包(模拟面向对象)
2019/03/13 Javascript
Python 错误和异常代码详解
2018/01/29 Python
教你用一行Python代码实现并行任务(附代码)
2018/02/02 Python
ubuntu安装sublime3并配置python3环境的方法
2018/03/15 Python
在Django中输出matplotlib生成的图片方法
2018/05/24 Python
python2.7实现爬虫网页数据
2018/05/25 Python
Python常见数据类型转换操作示例
2019/05/08 Python
python 字符串追加实例
2019/07/20 Python
Python循环实现n的全排列功能
2019/09/16 Python
浅谈python已知元素,获取元素索引(numpy,pandas)
2019/11/26 Python
Python模块_PyLibTiff读取tif文件的实例
2020/01/13 Python
python实现连连看游戏
2020/02/14 Python
django-xadmin根据当前登录用户动态设置表单字段默认值方式
2020/03/13 Python
如何利用Python给自己的头像加一个小国旗(小月饼)
2020/10/02 Python
俄罗斯在线购买飞机票、火车票、巴士票网站:Tutu.ru
2020/03/16 全球购物
热能动力工程毕业生自荐信
2013/11/07 职场文书
十佳党员事迹材料
2014/08/28 职场文书
见习报告的格式
2014/10/31 职场文书
Python+Appium自动化测试的实战
2021/06/30 Python
Pandas数据结构之Series的使用
2022/03/31 Python