基于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中this关键字(翻译+自我理解)
Oct 20 Javascript
Javascript面向对象之四 继承
Feb 08 Javascript
script的async属性以非阻塞的模式加载脚本
Jan 15 Javascript
JavaScript实现点击文本自动定位到下拉框选中操作
Jun 15 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
Dec 30 Javascript
AngularJS的Filter的示例详解
Mar 07 Javascript
微信小程序自定义可滑动日历界面
Dec 28 Javascript
微信小程序如何实现全局重新加载
Jun 05 Javascript
简述ES6新增关键字let与var的区别
Aug 23 Javascript
vue获取验证码倒计时组件
Aug 26 Javascript
JavaScript Window浏览器对象模型原理解析
May 30 Javascript
Node.js fs模块原理及常见用途
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判断是手机移动端还是PC端访问的函数示例
2017/12/14 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
Aster vs KG BO3 第三场2.19
2021/03/10 DOTA
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
用js提交表单解决一个页面有多个提交按钮的问题
2014/09/01 Javascript
JavaScript获取图片真实大小代码实例
2014/09/24 Javascript
基于jquery实现左右按钮点击的图片切换效果
2021/01/27 Javascript
如何使用AngularJs打造权限管理系统【简易型】
2016/05/09 Javascript
极力推荐一款小巧玲珑的可视化编辑器bootstrap-wysiwyg
2016/05/27 Javascript
javascript实现一个网页加载进度loading
2017/01/04 Javascript
使用bat打开多个cmd窗口执行gulp、node
2017/02/17 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
解决vuex刷新状态初始化的方法实现
2019/08/15 Javascript
[50:50]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.20
2020/12/23 DOTA
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
python实现飞机大战
2018/09/11 Python
python安装numpy和pandas的方法步骤
2019/05/27 Python
使用Python实现分别输出每个数组
2019/12/06 Python
python dir函数快速掌握用法技巧
2020/12/09 Python
python-图片流传输的思路及示例(url转换二维码)
2020/12/21 Python
通过python-pptx模块操作ppt文件的方法
2020/12/26 Python
使用python对excel表格处理的一些小功能
2021/01/25 Python
Mankind美国/加拿大:英国领先的男士美容护发用品公司
2018/12/05 全球购物
Eagle Eyes Optics鹰眼光学:高性能太阳镜
2018/12/07 全球购物
日本著名的服饰鞋帽综合类购物网站:MAGASEEK
2019/01/09 全球购物
JavaScript实现页面动态验证码的实现示例
2021/03/23 Javascript
初中生学习的自我评价
2013/11/14 职场文书
学校运动会霸气口号
2014/06/07 职场文书
应聘教师求职信
2014/07/19 职场文书
焦裕禄精神心得体会
2014/09/02 职场文书
领导班子作风建设年个人整改措施
2014/09/29 职场文书
机关职员工作检讨书
2014/10/23 职场文书
导师工作推荐信
2015/03/27 职场文书
2015年第十五个全民国防教育日宣传活动方案
2015/05/06 职场文书
2019年七夕情人节浪漫祝福语大全!
2019/08/08 职场文书
使用compose函数优化代码提高可读性及扩展性
2022/06/16 Javascript