jQuery.NiceScroll - 有史以来最好的 nicescroll 版本——在现代浏览器和移动设备上极其流畅和一致,资源使用率低(中文文档)

news2024/9/21 16:29:14

jQuery.NiceScroll

  • 特征
  • 依赖关系
  • 使用
  • 配置参数

有史以来最好的 nicescroll 版本——在现代浏览器和移动设备上极其流畅和一致,资源使用率低
官网:nicescroll.areaaperta.com
GitHub:github.com/inuyaksa/jquery.nicescroll

CDN引入:
https://www.bootcdn.cn/jquery.nicescroll/

NiceScroll是一个jQuery插件,用于与ios/mobile风格非常相似的漂亮滚动条.

  • 水平滚动条支持!
  • 支持DIV、IFrames、textarea和文档页面(正文)滚动条。
  • 兼容移动设备:iPad/iPhone/iPod、Android 4+、黑莓手机和 Playbook(WebWorks/Table OS)、Windows Phone 8 和 10。
  • 兼容所有触摸设备:iPad、Android 平板电脑、Window Surface。
  • 与多输入设备(带触摸的鼠标或笔)兼容:Window Surface、触摸笔记本上的 Chrome 桌面。
  • 兼容双向鼠标:Apple Magic Mouse、带 2 向滚轮的 Apple Mouser、带 2 向滚轮的 PC 鼠标(如果浏览器支持)。

您将获得:可自定义和可滚动的 div,具有适用于 iPad 的动量以及适用于所有桌面和移动平台的一致的可滚动区域。

性感的缩放功能:您可以“放大”任何启用 nicescroll 的 DIV 的内容。好用好看:全屏模式下 DIV 的所有内容。它可以在桌面(双击 div)上工作,也可以在移动/触摸设备上使用捏合手势。

在现代浏览器上,硬件加速滚动已经实现。使用 animationFrame 实现更流畅和节省 CPU 的滚动动画。(当浏览器支持时)

“使用严格的”测试脚本以获得最高的代码质量。Bower 和 AMD 准备好了。

IE6/IE7 用户警告:已弃用对您的浏览器的支持。(为什么你还在用这个?请升级到更稳定和现代的浏览器)

特征

  • 安装和激活简单:无需修改代码即可运行。(可能会发生一些例外情况,在这种情况下您可以写信给我。)
  • 非常时尚的滚动条,不会占用您的窗口:原始浏览器滚动条需要一些页面空间并减少窗口/div 的可用宽度。
  • 您也可以设置主文档滚动条(正文)的样式!(并非所有设备/浏览器都支持此功能)
  • 您可以在所有浏览器上通过拖动光标、鼠标滚轮(速度可自定义)、键盘导航(光标键、pagup/down 键、home/end 键)来滚动。
  • 滚动很流畅(就像现代平板电脑浏览一样)。速度是可定制的。
  • 缩放功能。
  • 硬件加速滚动(如果可用)。
  • 动画帧支持平滑滚动和节省 CPU。
  • 具有滚动动量的拖动滚动模式(如触摸设备)。
  • 针对所有主要的移动和桌面浏览器版本进行了测试。
  • 支持触摸设备。
  • 支持多输入设备(MSPointer/Pointer 支持)。
  • 与许多其他浏览器和 webkit 衍生产品兼容!
  • 滚动条有很多可定制的特性。
  • 本机滚动事件正在运行。
  • 与 jQuery 完全集成。
  • 与 jQuery UI、jQuery Touch、jQuery Mobile 兼容

依赖关系

jQuery 需要包含在您的脚本中。适用于 jQuery 1.x / 2.x / 3.x 分支(slim 版本不起作用)

  • 安装将加载脚本标记放在 jquery 脚本标记之后,并将缩放图像加载到脚本的同一文件夹中:
    使用缩放功能时,将“zoomico.png”复制到与 jquery.nicescroll.js 相同的文件夹中。

使用

首先引入CDN

<script src="https://code.jquery.com/jquery-3.6.3.js" crossorigin="anonymous"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery.nicescroll/3.7.6/jquery.nicescroll.js"></script>
  1. 新建页面
    写一个html页面,然后生产一个列表(最原始的滚动条)
    在这里插入图片描述
<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        ul {
            height: 250px;
            overflow: scroll;
            border: 1px solid black;
        }
    </style>
</head>
<ul>
</ul>
<body>
</body>
<script src="https://code.jquery.com/jquery-3.6.3.js" crossorigin="anonymous"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery.nicescroll/3.7.6/jquery.nicescroll.js"></script>
<!-- <script src="https://gitcode.net/baozi141990/jquery-nicescroll/-/raw/master/jquery.nicescroll.min.js" /> -->
<script>
    $(() => {
        for (let index = 0; index < 50; index++) {
            $("ul")[0].innerHTML += "<li>" + index + "</li>"
        }
    })
</script>

</html>
  1. 初始化nicescroll

初始化后会生产一个黑色的滚动条,此时鼠标放上去才会显示,离开则会消失.
在这里插入图片描述

直接添加如下代码即可:

$("ul").niceScroll();
  1. 带返回对象的初始化
var nice = false;
nice = $("ul").niceScroll();
console.log(nice)

返回如下信息:
在这里插入图片描述
3. 为DIV设计样式并改变光标颜色。

$("ul").niceScroll({ cursorcolor: "#00F" });

在这里插入图片描述
4. 获取nicesroll对象

如需在初始化后对nicesroll重写,可以使用如下代码获取nicesroll对象后重新编写.

$("ul").getNiceScroll();
  1. 隐藏niceroll
$("ul").getNiceScroll().hide();
  1. 检查滚动条的大小调整(当内容或位置发生变化时)。
$("ul").getNiceScroll().resize()
  1. 滚动到一个位置。
    使用如下代码来控制滚动条固定到哪个位置: duration为持续时间,单位毫秒.
$("ul").getNiceScroll(0).doScrollLeft(x, duration); // 滚动X轴
$("ul").getNiceScroll(0).doScrollTop(y, duration); // 滚动Y轴

当我们想要页面的滚动条自动滚动时可以设置定时器:

        var nice = false;
        nice = $("ul").niceScroll({ cursorcolor: "#00F" });
        nice.hide()
        let i = 0
        setInterval(() => {
            i++
            if (i > nice.page.maxh) i = 0;
            nice.doScrollTop(i, 100)
        }, 50)

配置参数

当您调用“niceScroll”时,您可以将一些参数传递给自定义视觉方面:

$("#thisdiv").niceScroll({
    cursorcolor: "#424242", // 更改十六进制光标颜色
    cursoropacitymin: 0, // 当游标处于非活动状态时(scrolllabar处于“隐藏”状态),改变不透明度,范围从1到0
    cursoropacitymax: 1, // 改变游标激活时的不透明度(scrolllabar "visible"状态),范围从1到0
    cursorwidth: "5px", // 光标宽度(以像素为单位)(也可以写成“5px”)
    cursorborder: "1px solid #fff", // CSS定义游标边框
    cursorborderradius: "5px", // 以像素为单位的光标边界半径
    zindex: "auto" | [number], //更改滚动条div的z-index
    scrollspeed: 60, // 滚动速度
    mousescrollstep: 40, // 鼠标滚轮滚动速度(像素)
    touchbehavior: false, // 弃用! !使用“emulatetouch”
    emulatetouch: false, // enable cursor-drag scrolling like touch devices in desktop computer
    hwacceleration: true, // 弃用! !使用“emulatetouch”像桌面电脑中的触摸设备一样启用光标拖动滚动功能
    boxzoom: false, // 启用缩放框内容
    dblclickzoom: true, // (仅当boxzoom=true时)当双击box时,缩放激活
    gesturezoom: true, // (仅当boxzoom=true和触摸设备)缩放激活时,在盒子上捏出/进入
    grabcursorenabled: true // (仅当touchbehavior=true时)显示“抓取”图标
    autohidemode: true, //如何隐藏滚动条的工作,可能的值: 
      true | // 不滚动时隐藏
      "cursor" | // only cursor hidden
      false | // 不隐藏,
      "leave" | // 仅当指针离开内容时隐藏
      "hidden" | // 一直隐藏
      "scroll", // 仅在滚动时显示          
    background: "", // 将CSS更改为rail背景
    iframeautoresize: true, // 加载事件时自动调整iframe的大小
    cursorminheight: 32, // 设置最小光标高度(像素)
    preservenativescrolling: true, // 您可以使用鼠标滚动本地可滚动区域,冒泡鼠标滚轮事件
    railoffset: false, // 您可以添加偏移顶部/左侧的轨道位置
    bouncescroll: false, // (only hw accell) 像移动设备一样在内容末尾启用滚动弹动
    spacebarenabled: true, // 当按下空格键时,启用页面向下滚动
    railpadding: { top: 0, right: 0, left: 0, bottom: 0 }, //设置栏杆的填充
    disableoutline: true, // 对于chrome浏览器,在使用nicescroll选择div时禁用outline(橙色高亮)
    horizrailenabled: true, // Nicescroll可以管理水平滚动
    railalign: right, // 纵轨对准
    railvalign: bottom, // 水平钢轨对准
    enabletranslate3d: true, // Nicescroll可以使用CSS转换滚动内容
    enablemousewheel: true, // Nicescroll可以管理鼠标滚轮事件
    enablekeyboard: true, // Nicescroll可以管理键盘事件
    smoothscroll: true, // 滚动轻松移动
    sensitiverail: true, // 点击轨道使滚动
    enablemouselockapi: true, // 可以使用鼠标标题锁API(对象拖动也存在同样的问题)
    cursorfixedheight: false, // 以像素为单位设置固定的光标高度
    hidecursordelay: 400, // 设置延迟微秒淡出滚动条
    directionlockdeadzone: 6, // 死区像素方向锁定激活
    nativeparentscrolling: true, // 检测内容底部并让父滚动,就像本机滚动一样
    enablescrollonselection: true, // 当选择文本时,启用自动滚动内容
    cursordragspeed: 0.3, // 用光标拖动时的选择速度
    rtlmode: "auto", // 水平div滚动从左侧开始
    cursordragontouch: false, // 在触摸中拖动光标
    oneaxismousemode: "auto", // 它允许水平滚动与鼠标滚轮水平的内容,如果false(仅垂直)鼠标滚轮不水平滚动,如果值为自动检测两轴鼠标
    scriptpath: "" // 为boxmode图标定义自定义路径("" =&gt;脚本路径相同)
    preventmultitouchscrolling: true // 防止在多点触控事件上滚动
    disablemutationobserver: false // force MutationObserver禁用,
    enableobserver: true // 启用DOM更改观察者,它尝试调整大小
    scrollbarid: false // 为nice滚动条设置自定义ID
});

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/359611.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flink-Table API 和 SQL(基本API、流处理的表、时间属性和窗口、聚合查询、联结查询、函数、SQL客户端、连接到外部系统)

文章目录Table API 和 SQL快速上手基本 API程序架构创建表环境创建表表的查询输出表表和流的转换流处理中的表动态表和持续查询将流转换成动态表原理用 SQL 持续查询-更新查询&追加查询将动态表转换为流(Append-only、Retract、Upsert)时间属性和窗口事件时间处理时间窗口&…

使用react hooks 封装的圆形滚动组件

相关技术 react , hooks , ts 功能描述 根据用户的触摸&#xff0c;对卡片进行一个圆形的旋转滚动。 码上掘金 引入组件好像不支持ts类型会报错&#xff0c;所以功能函数就丢到一个文件里面了 使用 引入 ScrollRotate 组件&#xff0c;在需要使用的数据列表外包裹一层&…

[Datawhale][CS224W]图机器学习(四)

目录一、回顾二、图嵌入概述2.1 补充知识——表示学习2.2 图嵌入2.3 图嵌入-基本框架 编码器——解码器2.3.1 编码器2.3.2 解码器2.3.3 执行步骤2.4 随机游走2.4.1 随机游走的方法步骤2.4.2 计算优化三、随机梯度下降3.1 SGD步骤3.2 批处理四、node2vec五、基于随机游走的图嵌入…

vivo x TiDB丨解决云服务海量数据挑战

vivo 是一家全球性的移动互联网智能终端公司&#xff0c;品牌产品包括智能手机、平板电脑、智能手表等 &#xff0c;截至 2022 年 8 月&#xff0c;已进驻 60 多个国家和地区&#xff0c;全球用户覆盖 4 亿多人。 vivo 为用户提供了在手机上备份联系人、短信、便签、书签等数据…

k8s-kubeadm部署

文章目录一、准备环境二、安装docker三、安装kubeadm&#xff0c;kubelet和kubectl四、部署容器网络五、部署UI一、准备环境 1.安装要求 在开始之前&#xff0c;部署Kubernetes集群机器需要满足以下几个条件&#xff1a; 一台或多台机器&#xff0c;操作系统 CentOS7.x-86_x6…

论文阅读:pixelNeRF: Neural Radiance Fields from One or Few Images

中文标题&#xff1a;从一或少量图像中构建神经辐射场 提出问题 NeRF效果虽然惊艳&#xff0c;但是其需要大量环绕图像以及长时间的训练。 创新点 与原始的NeRF网络不使用任何图像特征不同&#xff0c;pixelNeRF将与每个像素对齐的空间图像特征作为输入。也可以集合更多输入…

计算机网络(第三版) 胡亮 课后习题第三章答案

计算机网络&#xff08;第三版&#xff09; 胡亮 课后习题第三章答案 1、双绞线电缆有哪两种&#xff1f; 非屏蔽双绞线&#xff08;UTP&#xff09;和屏蔽双绞线(STP) 2、UTP分为几类&#xff1f; UTP安好电气性能分为8种类型&#xff1a;1类、2类、3类、4类、5类、超5类、6类…

python基于vue学生毕业离校系统

可定制框架:ssm/Springboot/vue/python/PHP/小程序/安卓均可开发 目录 1 绪论 1 1.1课题背景 1 1.2课题研究现状 1 1.3初步设计方法与实施方案 2 1.4本文研究内容 2 2 系统开发环境 4 3 系统分析 6 3.1系统可行性分析 6 3.1.1经济可行性 6 3.1.2技术可行性 6 3.1.3运行可行性 6…

面试攻略,Java 基础面试 100 问(十二)

如何将字符串转换为基本数据类型&#xff1f; 调用基本数据类型对应的包装类中的方法 parseXXX(String)或 valueOf(String)即可返回相应基本类型&#xff1b; 如何将基本数据类型转换为字符串&#xff1f; 一种方法是将基本数据类型与空字符串&#xff08;””&#xff09;连…

面试官最喜欢的软件测试工程师简历模板

目录 个人信息 求职意向 职业技能 工作经历 项目经历 工作经历 项目经历 教育经历 自我评价 总结 个人信息 姓 名&#xff1a;xxx 性 别&#xff1a;女 手 机&#xff1a;xxxxxxxxxxxx 最高学历&#xff1a;统招硕士 工作年限&am…

专业运动耳机哪个牌子好、专业运动耳机推荐

近些年&#xff0c;户外运动兴起&#xff0c;运动耳机迎来爆发增长&#xff0c;拒绝运动乏味&#xff0c;追求健康运动方式&#xff0c;已经成为当下年轻人的共同诉求。跑步骑行听音乐&#xff0c;已经是运动爱好者再熟悉不过的操作&#xff0c;很多人在运动中离不开音乐的节奏…

【小程序】新版uniapp登录流程以及获取头像和昵称

众所周知&#xff0c;小程序新版登录无法拿到头像和昵称&#xff01; 这篇文章讲解如何获取到微信用户昵称和头像 成品效果 步骤一&#xff0c;点击登录&#xff0c;获取token 步骤二&#xff0c;登录按钮隐藏&#xff0c;展示上传按钮 步骤三&#xff0c;点击上传按钮…

k8s介绍-组件架构-核心

文章目录一、Kubernetes介绍1、什么是Kubernetes&#xff1f;2、为什么需要Kubernetes&#xff0c;它能做什么&#xff1f;3、k8s的特性二、k8s集群架构与组件1、Master组件2、配置存储中心——etcd3、Worker Node 组件3.1 Node节点的工作流程&#xff1a;●Kubelet●Kube-Prox…

本地主机搭建服务器后如何让外网访问?快解析内网端口映射

本地主机搭建应用、部署服务器后&#xff0c;在局域网内是可以直接通过计算机内网IP网络地址进行连接访问的&#xff0c;但在外网电脑和设备如何访问呢&#xff1f;由于内网环境下&#xff0c;无法提供公网IP使用&#xff0c;外网访问内网就需要一个内外网转换的介质。这里介绍…

浅谈Kylin

1、什么是KylinApache Kylin™是一个开源的、分布式的分析型数据仓库&#xff0c;提供Hadoop/Spark 之上的 SQL 查询接口及多维分析&#xff08;OLAP&#xff09;能力以支持超大规模数据。它能在亚秒内查询巨大的表。2、谁在使用Kylin3、工作原理Apache Kylin 的工作原理就是对…

图解LeetCode——剑指 Offer 63. 股票的最大利润

一、题目 假设把某股票的价格按照时间先后顺序存储在数组中&#xff0c;请问买卖该股票一次可能获得的最大利润是多少&#xff1f; 二、示例 2.1> 示例 1: 【输入】 [7,1,5,3,6,4] 【输出】 5 【解释】 在第 2 天&#xff08;股票价格 1&#xff09;的时候买入&#xff…

vue入门(四)组件基础,$emits简单用法

上一篇&#xff1a;vue入门&#xff08;三&#xff09;事件&#xff08;方法&#xff09;处理、侦听器、模板引用 1.组件最基础的用法&#xff1a; 首先有一个button.vue的组件&#xff0c;里面只画了一个按钮 button.vue: <script> export default({data(){return{but…

备考心得100天PMP通关经验分享

01对PMP的认识 作为一线技术人员&#xff0c;在通信行业工作多年&#xff0c;深感项目管理的重要性。一个成功的项目&#xff0c;除了要把好技术关&#xff0c;项目的组织、协调、沟通、执行、风险管控等每一项都事关项目的成败。由此想到了田忌赛马的故事&#xff0c;科学合理…

用ChatGPT进行营销的一些可能场景

ChatGPT的热度席卷了全球科技圈。发布短短五天内&#xff0c;ChatGPT用户数就超过100万人&#xff1b;两个多月后月活用户突破1亿。 ChatGPT是谁&#xff1f; ChatGPT是由OpenAI开发的一个人工智能聊天机器人程序&#xff0c;于2022年11月推出。该程序使用基于GPT-3.5架构的大…

「mysql是怎样运行的」从一条记录说---InnoDB记录存储结构

「mysql是怎样运行的」从一条记录说—InnoDB记录存储结构 文章目录「mysql是怎样运行的」从一条记录说---InnoDB记录存储结构一、InnoDB页介绍二、InnoDB行格式2.1 COMPACT行格式2.2 REDUNDANT行格式2.3 溢出列2.4 DYNAMIC行格式和COMPRESSED行格式三、总结一、InnoDB页介绍 I…