基于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下扩展插件和拓展函数的写法(匿名函数使用的典型例子)
Oct 20 Javascript
从零开始学习jQuery (六) jquery中的AJAX使用
Feb 23 Javascript
js多级树形弹出一个小窗口层(非常好用)实例代码
Mar 19 Javascript
使用JS读秒使用示例
Sep 21 Javascript
document.forms[].submit()使用介绍
Feb 19 Javascript
Javascript 函数parseInt()转换时出现bug问题
May 20 Javascript
Jquery实现地铁线路指示灯提示牌效果的方法
Mar 02 Javascript
js实现简单鼠标跟随效果的方法
Apr 10 Javascript
JS锚点的设置与使用方法
Sep 05 Javascript
详解vue配置后台接口方式
Mar 29 Javascript
Vue 2.0 中依赖注入 provide/inject组合实战
Jun 20 Javascript
JavaScript对象原型链原理详解
Feb 05 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延迟静态绑定示例分享
2014/06/22 PHP
IE 缓存策略的BUG的解决方法
2007/07/21 Javascript
IE与firefox下Dhtml的一些区别小结
2009/12/02 Javascript
jQuery 获取对象 定位子对象
2010/05/31 Javascript
利用JavaScript检测CPU使用率自己写的
2014/03/22 Javascript
Javascript中浮点数相乘的一个解决方法
2014/06/03 Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
2014/06/13 Javascript
一个简单的jQuery计算器实现了连续计算功能
2014/07/21 Javascript
跟我学习javascript的函数调用和构造函数调用
2015/11/16 Javascript
jQuery 实现左右两侧菜单添加、移除功能
2018/01/02 jQuery
Node.js readline 逐行读取、写入文件内容的示例
2018/03/01 Javascript
Vue一个案例引发的递归组件的使用详解
2018/11/15 Javascript
微信小程序实现获取小程序码和二维码java接口开发
2019/03/29 Javascript
详解将微信小程序接口Promise化并使用async函数
2019/08/05 Javascript
Layui点击图片弹框预览的实现方法
2019/09/16 Javascript
React中使用Vditor自定义图片详解
2020/12/25 Javascript
[01:44]《为梦想出发》—联想杯DOTA2完美世界全国高校联赛
2015/09/30 DOTA
Python爬虫实现简单的爬取有道翻译功能示例
2018/07/13 Python
flask session组件的使用示例
2018/12/25 Python
对Python捕获控制台输出流的方法详解
2019/01/07 Python
Python判断有效的数独算法示例
2019/02/23 Python
Python基于smtplib模块发送邮件代码实例
2020/05/29 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
2021/02/04 Python
纯CSS实现的大小渐变、渐远效果
2014/04/15 HTML / CSS
利用css3-animation实现逐帧动画效果
2016/03/10 HTML / CSS
Optimalprint加拿大:在线打印服务
2020/04/03 全球购物
应聘教师推荐信
2013/10/31 职场文书
医学院学生的自我评价分享
2013/11/19 职场文书
21岁生日感言
2014/02/27 职场文书
花坛标语大全
2014/06/30 职场文书
演讲稿开场白台词
2014/08/25 职场文书
学习型党组织心得体会
2014/09/12 职场文书
教师三严三实学习心得体会
2014/10/11 职场文书
2014年小学辅导员工作总结
2014/12/23 职场文书
2015新学期校长寄语(3篇)
2015/03/25 职场文书
Vue项目中如何封装axios(统一管理http请求)
2021/05/02 Vue.js