基于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 相关文章推荐
innerText和textContent对比及使用介绍
Feb 27 Javascript
jQuery Animation实现CSS3动画示例介绍
Aug 14 Javascript
解决js页面滚动效果scrollTop在FireFox与Chrome浏览器间的兼容问题的方法
Dec 03 Javascript
原生js实现网易轮播图效果
Apr 10 Javascript
jQuery Mobile漏洞会有跨站脚本攻击风险
Feb 12 Javascript
JavaScript 用fetch 实现异步下载文件功能
Jul 21 Javascript
Redux 和 Mobx的选择问题:让你不再困惑!
Sep 18 Javascript
vue指令只能输入正数并且只能输入一个小数点的方法
Jun 08 Javascript
layui框架与SSM前后台交互的方法
Sep 12 Javascript
vue-property-decorator用法详解
Dec 12 Javascript
微信小程序实现上传多张图片、删除图片
Jul 29 Javascript
vue项目实现设置根据路由高亮对应的菜单项操作
Aug 06 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计数器的实现代码
2013/06/08 PHP
phpnow php探针环境检测代码
2014/11/04 PHP
PHP巧妙利用位运算实现网站权限管理的方法
2017/03/12 PHP
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
2009/10/24 Javascript
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
2013/11/14 Javascript
jQuery插件MixItUp实现动画过滤和排序
2015/04/12 Javascript
avalon js实现仿微博拖动图片排序
2015/08/14 Javascript
基于JQuery实现的跑马灯效果(文字无缝向上翻动)
2016/12/02 Javascript
关于javascript作用域的常见面试题分享
2017/06/18 Javascript
用js将long型数据转换成date型或datetime型的实例
2017/07/03 Javascript
vue.js实现的全选与全不选功能示例【基于elementui】
2018/12/03 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
2019/03/13 Javascript
[01:03:09]完美世界DOTA2联赛PWL S2 Forest vs SZ 第二场 11.25
2020/11/26 DOTA
跟老齐学Python之有容乃大的list(3)
2014/09/15 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
2020/05/13 Python
pytorch实现查看当前学习率
2020/06/24 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
2020/08/26 Python
python实现企业微信定时发送文本消息的实例代码
2020/11/25 Python
python使用numpy中的size()函数实例用法详解
2021/01/29 Python
一款基于css3的动画按钮代码教程
2014/11/23 HTML / CSS
Lou & Grey美国官网:主打舒适性面料服饰
2017/12/21 全球购物
C语言中一个结构不能包含指向自己的指针吗
2012/05/25 面试题
人力资源管理专业毕业生自我评价
2013/09/21 职场文书
毕业生文员求职信
2013/11/03 职场文书
物流仓管员岗位职责
2013/12/04 职场文书
项目考察欢迎辞
2014/01/17 职场文书
《猴子种果树》教学反思
2014/04/26 职场文书
乡镇干部先进性教育活动个人整改措施
2014/09/16 职场文书
邀请书模板
2015/02/02 职场文书
加薪申请报告范本
2015/05/15 职场文书
2015年药品销售工作总结范文
2015/05/25 职场文书
在CSS中映射鼠标位置并实现通过鼠标移动控制页面元素效果(实例代码)
2021/04/22 HTML / CSS
python实现图片九宫格分割的示例
2021/04/25 Python
经典《舰娘》游改全新动画预告 预定11月开播
2022/04/01 日漫
Ruby处理YAML和json数据
2022/04/18 Ruby