iScroll

news/2024/11/25 15:54:56/

一、iScroll基本使用

1.1 什么是iScroll?

  • iScroll是一个高性能,资源占用少,无依赖,多平台的javascript滚动插件。
  • iScroll不仅仅是滚动。在你的项目中包含仅仅4kb大小的iScroll,能让你的项目便拥有滚动,缩放,平移,无限滚动,视差滚动,旋转功能


1.2 iScroll基本使用

按照iScroll的规定搭建HTML结构

引入iScroll

创建iScroll对象, 告诉它谁需要滚动

 


 1.3 iScroll的版本

  • 针对iScroll的优化。为了达到更高的性能,iScroll分为了多个版本。你可以选择最适合你的版本。
  • iscroll.js,这个版本是常规应用的脚本。它包含大多数常用的功能,有很高的性能和很小的体积。
  • iscroll-lite.js,精简版本。它不支持快速跳跃,滚动条,鼠标滚轮,快捷键绑定。但如果你所需要的是滚动(特别是在移动平台) iScroll 精简版 是又小又快的解决方案。
  • iscroll-probe.js,探查当前滚动位置是一个要求很高的任务,这就是为什么我决定建立一个专门的版本。如果你需要知道滚动位置在任何给定的时间,这是iScroll给你的。(我正在做更多的测试,这可能最终在常规iscroll.js脚本,请留意)。
  • iscroll-zoom.js,在标准滚动功能上增加缩放功能。
  • iscroll-infinite.js,可以做无限缓存的滚动。处理很长的列表的元素为移动设备并非易事。 iScroll infinite版本使用缓存机制,允许你滚动一个潜在的无限数量的元素。


1.4 示例

        *{margin: 0;padding: 0;touch-action: none;}div{width: 100%;height: 300px;border: 1px solid #000;box-sizing: border-box;overflow: hidden;}dl>dt{line-height: 30px;text-align: center;border-bottom: 1px solid #000;}
<script src="js/iscroll.js"></script>
<div class="box"><dl><dt>我是标题1</dt><dt>我是标题2</dt><dt>我是标题3</dt><dt>我是标题4</dt><dt>我是标题5</dt><dt>我是标题6</dt><dt>我是标题7</dt><dt>我是标题8</dt><dt>我是标题9</dt><dt>我是标题10</dt><dt>我是标题11</dt><dt>我是标题12</dt><dt>我是标题13</dt><dt>我是标题14</dt><dt>我是标题15</dt><dt>我是标题16</dt><dt>我是标题17</dt><dt>我是标题18</dt><dt>我是标题19</dt><dt>我是标题20</dt><dt>我是标题21</dt><dt>我是标题22</dt><dt>我是标题23</dt><dt>我是标题24</dt><dt>我是标题25</dt><dt>我是标题26</dt><dt>我是标题27</dt><dt>我是标题28</dt><dt>我是标题29</dt><dt>我是标题30</dt></dl>
</div>
let myScroll = new IScroll('.box');

使用iScroll的步骤:

  1. 导入iScroll
  2. 搭建一个三层结构
  3. 创建一个iScroll对象并告诉哪一个元素里面的内容需要滚动即可


二、iScroll高级应用

在iScroll初始化阶段可以通过构造函数的第二个参数配置它

var myScroll = new IScroll('#wrapper', {mouseWheel: true,scrollbars: true
});

2.1 示例1

        *{margin: 0;padding: 0;touch-action: none;}div{width: 50%;height: 300px;border: 1px solid #000;box-sizing: border-box;overflow: hidden;position: relative;}dl>dt{line-height: 30px;text-align: center;border-bottom: 1px solid #000;}/* 自定义滚动条样式第二步 */.iScrollVerticalScrollbar{width: 30px;height: 100%;background: deepskyblue;position: absolute;top: 0;right: 0;z-index: 999;}.iScrollIndicator{width: 100%;background: pink;}
<script src="js/iscroll.js"></script>
<div class="box"><dl><dt>我是标题1</dt><dt>我是标题2</dt><dt>我是标题3</dt><dt>我是标题4</dt><dt>我是标题5</dt><dt>我是标题6</dt><dt>我是标题7</dt><dt>我是标题8</dt><dt>我是标题9</dt><dt>我是标题10</dt><dt>我是标题11</dt><dt>我是标题12</dt><dt>我是标题13</dt><dt>我是标题14</dt><dt>我是标题15</dt><dt>我是标题16</dt><dt>我是标题17</dt><dt>我是标题18</dt><dt>我是标题19</dt><dt>我是标题20</dt><dt>我是标题21</dt><dt>我是标题22</dt><dt>我是标题23</dt><dt>我是标题24</dt><dt>我是标题25</dt><dt>我是标题26</dt><dt>我是标题27</dt><dt>我是标题28</dt><dt>我是标题29</dt><dt>我是标题30</dt></dl>
</div>
    let myScroll = new IScroll('.box', {mouseWheel: true, // 是否支持鼠标滚轮滚动// scrollbars: true, // 是否显示滚动条scrollbars: 'custom' // 设置自定义滚动条样式第一步});// myScroll.on("beforeScrollStart", function () {//     console.log("滚动之前");// });// myScroll.on("scrollStart", function () {//     console.log("开始滚动");// });// myScroll.on("scroll", function () {//     console.log("正在滚动");// });// myScroll.on("scrollEnd", function () {//     console.log("滚动结束");// });

 

更多请参考: iScroll 5 介绍 · iScroll 5 API 中文版

2.2 示例2--电商侧边栏

        *{margin: 0;padding: 0;touch-action: none;}html,body{width: 100%;height: 100%;}.box{width: 85px;height: 100%;border: 1px solid #000;}.box>ul{list-style: none;width: 100%;position: relative;}.box>ul>li{width: 100%;height: 40px;line-height: 40px;text-align: center;border-bottom: 1px solid #666;}.box>ul>li:last-child{border-bottom: none;}
<script src="js/iscroll.js"></script>
<div class="box"><ul><li>热门推荐</li><li>指趣学院</li><li>手机数码</li><li>家用电脑</li><li>电脑办公</li><li>计生情趣</li><li>美妆护肤</li><li>个护清洁</li><li>汽车用品</li><li>京东超市</li><li>男装</li><li>男鞋</li><li>女装</li><li>女鞋</li><li>母婴童装</li><li>图书音像</li><li>运动户外</li><li>内衣配饰</li><li>食品生鲜</li><li>酒水饮料</li><li>家具家装</li><li>箱包手袋</li><li>钟表珠宝</li><li>玩具乐器</li><li>医疗保健</li><li>宠物生活</li><li>礼品鲜花</li><li>生活旅行</li><li>奢侈品</li><li>艺术邮币</li><li>二手商品</li></ul>
</div>
new IScroll(".box");

 


http://www.ppmy.cn/news/430658.html

相关文章

C语言-字符串分割函数strtok()

最近项目开发比较忙&#xff0c;离上一次更新已经过去一个多月了&#xff0c;项目完成的差不多了&#xff0c;其中有一个黑白名单阻断的需求&#xff0c;刚开始我是用的指针偏移&#xff0c;一个字节一个字节的去匹配&#xff0c;由于业务很多&#xff0c;觉得这样写太繁琐了&a…

python实现自动打开终端并执行命令(windows)

python实现自动打开终端并执行代码&#xff08;windows&#xff09; 一、环境和代码1. 安装pypiwin322. 代码示例 二、效果展示三、存在问题1. ImportError: DLL load failed while importing win32api: 找不到指定的模块。2. 窗口打开了但是不输入命令 最近有同学需要同时打开…

scorll

关闭 微信平台 <script type"text/javascript">function closeDiv() {document.getElementById(floater).style.visibility hidden;}self.onError null;currentX currentY 0;whichIt null;lastScrollX 0; lastScrollY 0;NS (document.layers) ? 1 : 0…

scoket

我们深谙信息交流的价值&#xff0c;那网络中进程之间如何通信&#xff0c;如我们每天打开浏览器浏览网页 时&#xff0c;浏览器的进程怎么与web服务器通信的&#xff1f;当你用QQ聊天时&#xff0c;QQ进程怎么与服务器或你好友所在的QQ进程通信&#xff1f;这些都得靠socket&a…

Slick教程

Slick 编程(1): 概述Slick 编程(2): 准备开发环境Slick 编程(3): 基本查询Slick 编程(4): 数据库连接和事务处理Slick 编程(5): 数据库SchemaSlick 编程(6): 查询(一)Slick 编程(7): 查询(二)Slick 编程(8): 查询(三)Slick 编程(9): 直接使用SQL语句

Screeps

文章目录 前言一、Screeps是什么&#xff1f;二、部分介绍1.CreepsCreeps 能力移动力 2.控制全局控制等级房间控制等级 3.防御你的房间安全模式 三、链接 前言 篇幅有限&#xff0c;就不全部转载。 此文为系列文章第一篇 以下内容全部来自Screeps官网 API文档 在Steam上有售…

saga模式、Seata saga模式详解

文章目录 一、前言二、SAGA模式0、saga论文摘要1、什么是长事务?2、saga的组成3、saga的两种执行场景1)forward recovery2)backward recovery4、saga log5、saga协调(saga实现方式)1)SAGA - Choreography 策略2)SAGA - Orchestration 策略3)如何选择三、Seata saga模式…

【记忆集与卡表】

文章目录 1. 程序计数器&#xff08;Program Counter Register&#xff09;2. 虚拟机栈&#xff08;VM Stack&#xff09;3. 本地方法栈&#xff08;Native Method Stack&#xff09;4. Java堆&#xff08;Java Heap&#xff09;5. 方法区&#xff08;Method Area&#xff09;记…