基于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 学习初步 入门教程
Mar 25 Javascript
Jquery中children与find之间的区别详细解析
Nov 29 Javascript
JavaScript中获取样式的原生方法小结
Oct 08 Javascript
js实现单击图片放大图片的方法
Feb 17 Javascript
javascript实现的简单的表单验证
Jul 10 Javascript
Angular.Js中ng-include指令的使用与实现
May 07 Javascript
JS实现的按钮点击颜色切换功能示例
Oct 19 Javascript
vue.js element-ui validate中代码不执行问题解决方法
Dec 18 Javascript
vue-cli3.0如何使用CDN区分开发、生产、预发布环境
Nov 22 Javascript
解决layui数据表格table的横向滚动条显示问题
Sep 04 Javascript
vue 函数调用加括号与不加括号的区别
Oct 29 Javascript
JS前端基于canvas给图片添加水印
Nov 11 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 判断过去离现在几年的函数(实例代码)
2016/11/15 PHP
Zend Framework上传文件重命名的实现方法
2016/11/25 PHP
PHP中Trait及其应用详解
2017/02/14 PHP
PhpStorm+xdebug+postman调试技巧分享
2020/09/15 PHP
JavaScript对象的property属性详解
2014/04/01 Javascript
Yii2使用Bootbox插件实现自定义弹窗
2015/04/02 Javascript
jquery实现的伪分页效果代码
2015/10/29 Javascript
第一篇初识bootstrap
2016/06/21 Javascript
bootstrap select下拉搜索插件使用方法详解
2017/11/23 Javascript
让axios发送表单请求形式的键值对post数据的实例
2018/08/11 Javascript
彻底揭秘keep-alive原理(小结)
2019/05/05 Javascript
Python基于更相减损术实现求解最大公约数的方法
2018/04/04 Python
PyQt5每天必学之滑块控件QSlider
2018/04/20 Python
python3实现多线程聊天室
2018/12/12 Python
python 使用pdfminer3k 读取PDF文档的例子
2019/08/27 Python
python编写简单端口扫描器
2019/09/04 Python
pymysql 开启调试模式的实现
2019/09/24 Python
Python语法之精妙的十个知识点(装B语法)
2020/01/18 Python
Python基础之字符串常见操作经典实例详解
2020/02/26 Python
pycharm远程连接vagrant虚拟机中mariadb数据库
2020/06/05 Python
pytorch 中forward 的用法与解释说明
2021/02/26 Python
css3针对移动端卡顿问题的解决(动画性能优化)
2020/02/14 HTML / CSS
丝芙兰意大利官方网站:Sephora.it
2019/12/13 全球购物
Farfetch中文官网:奢侈品牌时尚购物平台
2020/03/15 全球购物
C#公司笔试题
2014/03/28 面试题
企业治理工作自我评价
2013/09/26 职场文书
工商企业管理实习自我鉴定
2013/12/04 职场文书
校园文化建设方案
2014/02/03 职场文书
技术总监管理岗位职责
2014/03/09 职场文书
护理专业自荐书
2014/06/04 职场文书
学校搬迁方案
2014/06/15 职场文书
交通事故协议书范本
2014/11/18 职场文书
2014年银行个人工作总结
2014/12/05 职场文书
85句关于理想的名言警句大全
2019/08/22 职场文书
Python自动化爬取天眼查数据的实现
2021/06/15 Python
聊聊配置 Nginx 访问与错误日志的问题
2022/05/25 Servers