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

news/2024/4/20 17:53:43/文章来源:https://blog.csdn.net/baozi141990/article/details/129123403

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 = 0setInterval(() => {i++if (i > nice.page.maxh) i = 0;nice.doScrollTop(i, 100)}, 50)

配置参数

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

$("#thisdiv").niceScroll({cursorcolor: "#424242", // 更改十六进制光标颜色cursoropacitymin: 0, // 当游标处于非活动状态时(scrolllabar处于“隐藏”状态),改变不透明度,范围从1到0cursoropacitymax: 1, // 改变游标激活时的不透明度(scrolllabar "visible"状态),范围从1到0cursorwidth: "5px", // 光标宽度(以像素为单位)(也可以写成“5px”)cursorborder: "1px solid #fff", // CSS定义游标边框cursorborderradius: "5px", // 以像素为单位的光标边界半径zindex: "auto" | [number], //更改滚动条div的z-indexscrollspeed: 60, // 滚动速度mousescrollstep: 40, // 鼠标滚轮滚动速度(像素)touchbehavior: false, // 弃用! !使用“emulatetouch”emulatetouch: false, // enable cursor-drag scrolling like touch devices in desktop computerhwacceleration: true, // 弃用! !使用“emulatetouch”像桌面电脑中的触摸设备一样启用光标拖动滚动功能boxzoom: false, // 启用缩放框内容dblclickzoom: true, // (仅当boxzoom=true时)当双击box时,缩放激活gesturezoom: true, // (仅当boxzoom=true和触摸设备)缩放激活时,在盒子上捏出/进入grabcursorenabled: true // (仅当touchbehavior=true时)显示“抓取”图标autohidemode: true, //如何隐藏滚动条的工作,可能的值: true | // 不滚动时隐藏"cursor" | // only cursor hiddenfalse | // 不隐藏,"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.luyixian.cn/news_show_71719.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上海亚商投顾:沪指放量大涨 券商等权重板块全线飙升

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。市场情绪三大指数今日集体反弹&#xff0c;沪指、深成指单边拉升&#xff0c;午后均涨超2%&#xff0c;上证50大涨超2.7%&…

[ vulhub漏洞复现篇 ] Drupal 远程代码执行漏洞(CVE-2019-6339)

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…

java final关键字 详解

概述&#xff1a;作用&#xff1a;细节&#xff1a;演示&#xff1a;总结&#xff1a;一、概述 : final [ˈ faɪnl]&#xff0c;最终的&#xff0c;最后的&#xff0c;决定性的&#xff0c;不可改变的。final作为Java中的一个关键字可以用来修饰类&#xff0c;方法&#xff0c…

Vbs_To_Exe制作简易exe程序

文章目录一、准备vbs脚本文件二、工具打包exe一、准备vbs脚本文件 新建一个文本文档 复制下面代码到文本文档中 Set speech CreateObject("SAPI.SpVoice") speech.Speak "l love you!"修改文本后缀为.vbs。编码选择ANSI&#xff08;解决中文乱码问题&am…

LVS中的keepalived高可用

文章目录前言一、Keepalived简介二、keepalived工作原理三、配置文件四、实验1.某台Real Server down2.LVS本身down实验过程&#xff1a;五、代码详细演示整体过程调度器安装软件、设置测试keepalived对后端RS的健康检测backup服务主机设置前言 一、Keepalived简介 Keepalived是…

UG NX二次开发(C#)-导出-导出Parasolid文件(.x_t文件)

文章目录 1、前言2、在UG NX中的操作2、采用NXOpen二次开发实现1、前言 UG NX提供了多种文件的导入与导出功能,本文采用NXOpen.net来实现Parasolid文件(.x_t文件)的导出功能。 2、在UG NX中的操作 打开UG NX的一个三维模型,如下图所示。 点击“文件”->“导出”->“…

企业级信息系统开发学习笔记1.2 初探Spring——利用组件注解符精简Spring配置文件

文章目录零、本讲学习目标一、课程引入二、打开项目 - SpringDemo三、利用组件注解符精简Spring配置文件&#xff08;一&#xff09;创建新包&#xff08;二&#xff09;复制四个类&#xff08;三&#xff09;修改杀龙任务类&#xff08;四&#xff09;修改救美任务类&#xff…

html常用font-family设置字体样式

<table border"1" cellpadding"0" cellspacing"0" ><tr><td><h3 style"font-family: 黑体;">黑体&#xff1a;SimHei</h3></td><td><h3 style"font-family: 华文黑体;">华…

Prometheus集群分布式架构浅析

集群行为是一种常见于自然界中鱼群、鸟群、蜂群等低等群居生物的集体行为&#xff0c;受此启发形成了无人机集群的概念。无人机集群不是多无人机间的简单编队&#xff0c;而是通过必要的控制策略使之产生集群协同效应&#xff0c;从而具备执行复杂多变、危险任务的能力。目前无…

如何快速、全面、深入地掌握一门编程语言

思考路线 如何快速&#xff1f; 什么样的Demo才能让人觉得你掌握了它&#xff1f; 空 判断&#xff1a;构造一个可以判断所有空的 is_empty 函数 for 循环&#xff1a;i 和 集合迭代两种 时间获取&#xff1a;年/月/日 时分秒 时间戳与时间格式互转 休眠时间函数 字符串处理…

Word控件Spire.Doc 【Table】教程(17):如何在 C#、VB.NET 中删除 Word 表格中的行和列

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下&#xff0c;轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具&#xff0c;专注于创建、编辑、转…

PCB设计中降低噪声与电磁干扰的24个窍门

电子设备的灵敏度越来越高&#xff0c;这要求设备的抗干扰能力也越来越强&#xff0c;因此PCB设计也变得更加困难&#xff0c;如何提高PCB的抗干扰能力成为众多工程师们关注的重点问题之一。本文将介绍PCB设计中降低噪声与电磁干扰的一些小窍门。 下面是经过多年设计总结出来的…

大数据处理学习笔记1.3 使用Scala集成开发环境

文章目录零、本讲学习目标一、搭建Scala的IntelliJ IDEA开发环境&#xff08;一&#xff09;启动IDEA&#xff08;二&#xff09;安装Scala插件&#xff08;三&#xff09;配置IDEA使用的默认JDK&#xff08;四&#xff09;创建Scala项目1、创建Scala项目 - ScalaDemo2、创建Sc…

linux高级命令之死锁

死锁学习目标能够知道产生死锁的原因1. 死锁的概念死锁: 一直等待对方释放锁的情景就是死锁为了更好的理解死锁&#xff0c;来看一个现实生活的效果图:说明:现实社会中&#xff0c;男女双方一直等待对方先道歉的这种行为就好比是死锁。死锁的结果会造成应用程序的停止响应&…

【vue】elemente-ui table toggleRowSelection 默认选择无效[已解决]

项目场景&#xff1a; 点击按钮&#xff0c;弹出一个弹出框&#xff0c;内部出现一个table表&#xff0c;表内数据是动态获取&#xff0c;同时得勾选上几个table表的数据&#xff0c;类似以下的图 问题描述 点击按钮显示弹出框&#xff0c;加载table中的数据&#xff0c;默…

【机器学习】Adaboost

1.什么是Adaboost AdaBoost&#xff08;adapt boost&#xff09;&#xff0c;自适应推进算法&#xff0c;属于Boosting方法的学习机制。是一种通过改变训练样本权重来学习多个弱分类器并进行线性结合的过程。它的自适应在于&#xff1a;被前一个基本分类器误分类的样本的权值会…

springboot整合Chat Generative Pre-trained Transformer

什么是Chat Generative Pre-trained Transformer Chat Generative Pre-trained Transformer&#xff0c;是以人工智能驱动的聊天机器人程序 &#xff0c;已经更新多个版本&#xff0c;很多大厂也都在接入其API。 整合难度 难度一颗星&#xff0c;基本上就是给官方API发请求&am…

在VMware Workstation中配置固定IP、在VMware Fusion中配置固定IP

1、在VMware Workstation中配置固定IP 配置固定IP需要2个大步骤&#xff1a; 1.在VMware Workstation&#xff08;或Fusion&#xff09;中配置IP地址网关和网段&#xff08;IP地址的范围&#xff09; 首先让我们&#xff0c;先进行第一步&#xff0c;跟随图片进行操作 现在进…

基于某业务单登陆场景并发测试实战

文章目录1 测试目的2 测试目标和测试对象3 名词解释4 测试说明5 测试环境和工具5.1 测试工具5.2 测试环境5.3 人力计划6 测试用例6.1 方案设计6.2 接口地址6.3 接口参数6.3.1 header参数6.3.2 请求参数7 脚本设计8 监控数据8.1 虚拟用户并发情况8.2 事务响应时间8.3 每秒点击次…

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

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