基于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 相关文章推荐
JQuery扩展插件Validate 3通过参数设置错误信息
Sep 05 Javascript
javascript函数特点实例分析
May 14 Javascript
jQuery横向擦除焦点图特效代码分享
Sep 06 Javascript
javascript字符串对象常用api函数小结(连接,替换,分割,转换等)
Sep 20 Javascript
easyui-edatagrid.js实现回车键结束编辑功能的实例
Apr 12 Javascript
JavaScript实现各种排序的代码详解
Aug 28 Javascript
详解http访问解析流程原理
Oct 18 Javascript
Bootstrap栅格系统的使用详解
Oct 30 Javascript
vue移动端UI框架实现QQ侧边菜单组件
Mar 09 Javascript
vue基础之事件v-onclick=&quot;函数&quot;用法示例
Mar 11 Javascript
JS中的防抖与节流及作用详解
Apr 01 Javascript
解决layui富文本编辑器图片上传无法回显的问题
Sep 18 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 将excel导入mysql
2009/11/09 PHP
如何让thinkphp在模型中自动完成session赋值小教程
2014/09/05 PHP
一段非常简单的让图片自动切换js代码
2006/11/10 Javascript
jQuery validate 中文API 附validate.js中文api手册
2010/07/31 Javascript
jquery删除提示框弹出是否删除对话框
2014/01/07 Javascript
js获取表格的行数和列数的方法
2015/10/23 Javascript
WebApi+Bootstrap+KnockoutJs打造单页面程序
2016/05/16 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
Jquery基础之事件操作详解
2016/06/14 Javascript
angularjs 表单密码验证自定义指令实现代码
2016/10/27 Javascript
JQuery统计input和textarea文字输入数量(代码分享)
2016/12/29 Javascript
关于foreach循环中遇到的问题小结
2017/05/08 Javascript
Node.js操作redis实现添加查询功能
2017/05/25 Javascript
AngularJS使用ng-repeat遍历二维数组元素的方法详解
2017/11/11 Javascript
Vue封装的组件全局注册并引用
2019/07/24 Javascript
如何利用node.js开发一个生成逐帧动画的小工具
2019/12/01 Javascript
基于vue.js仿淘宝收货地址并设置默认地址的案例分析
2020/08/20 Javascript
js实现简单的无缝轮播效果
2020/09/05 Javascript
js实现磁性吸附的示例
2020/10/26 Javascript
初步解析Python下的多进程编程
2015/04/28 Python
Python实现调度算法代码详解
2017/12/01 Python
Python+OpenCV实现车牌字符分割和识别
2018/03/31 Python
django实现支付宝支付实例讲解
2019/10/17 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
2020/02/25 Python
python3光学字符识别模块tesserocr与pytesseract的使用详解
2020/02/26 Python
python MultipartEncoder传输zip文件实例
2020/04/07 Python
全球游戏Keys和卡片市场:GamesDeal
2018/03/28 全球购物
英语专业毕业个人求职自荐信
2013/09/21 职场文书
大学生村官工作感言
2014/01/10 职场文书
新年抽奖获奖感言
2014/03/02 职场文书
清洁工个人总结
2015/03/04 职场文书
公司禁烟通知
2015/04/23 职场文书
安娜卡列尼娜观后感
2015/06/11 职场文书
庆七一活动简报
2015/07/20 职场文书
同学聚会感言一句话
2015/07/30 职场文书
导游词之沈阳清昭陵
2019/12/28 职场文书