Nicescroll滚动条插件是一个非常强大的基于JQUERY的滚动条插件,不需要增加额外的css,几乎全浏览器兼容。ie6+,实现只需要一段代码,侵入性非常小,样式可完全自定义,支持触摸事件,可在触摸屏上使用。
效果图:

//基础用法
1 $(document).ready(
2   function() {
3     $("html").niceScroll();
4   }
5 );

注意:一定要放在 $(document).ready 中进行初始化!

隐藏滚动条:(当在同一页面中使用多个nicescroll插件时,要及时隐藏用完的nicescroll对象,加载时,需要先show,再resize。)

1 $("#mydiv").getNiceScroll().hide();

检测滚动条是否重置大小(当窗口改变大小时):

1 $("#mydiv").getNiceScroll().resize();

滚动到某个位置:

1 $("#mydiv").getNiceScroll(0).doScrollLeft(x, duration); // Scroll X Axis;第一个参数为滚动的位置,第二个为滚动需要的时间
2 $("#mydiv").getNiceScroll(0).doScrollTop(y, duration); // Scroll Y Axis

设置各种参数:

$("#thisdiv").niceScroll({cursorcolor: "#424242", // 改变滚动条颜色,使用16进制颜色值cursoropacitymin: 0, // 当滚动条是隐藏状态时改变透明度, 值范围 1 到 0cursoropacitymax: 1, // 当滚动条是显示状态时改变透明度, 值范围 1 到 0cursorwidth: "5px", // 滚动条的宽度,单位:便素cursorborder: "1px solid #fff", // CSS方式定义滚动条边框cursorborderradius: "5px", // 滚动条圆角(像素)zindex: "auto" | <number>, // 改变滚动条的DIV的z-index值scrollspeed: 60, // 滚动速度mousescrollstep: 40, // 鼠标滚轮的滚动速度 (像素)touchbehavior: false, // 激活拖拽滚动hwacceleration: true, // 激活硬件加速boxzoom: false, // 激活放大box的内容dblclickzoom: true, // (仅当 boxzoom=true时有效)双击box时放大gesturezoom: true, // (仅 boxzoom=true 和触屏设备时有效) 激活变焦当out/in(两个手指外张或收缩)grabcursorenabled: true // (仅当 touchbehavior=true) 显示“抓住”图标display "grab" iconautohidemode: true, // 隐藏滚动条的方式, 可用的值:true | // 无滚动时隐藏"cursor" | // 隐藏false | // 不隐藏,"leave" | // 仅在指针离开内容时隐藏"hidden" | // 一直隐藏"scroll", // 仅在滚动时显示background: "", // 轨道的背景颜色iframeautoresize: true, // 在加载事件时自动重置iframe大小cursorminheight: 32, // 设置滚动条的最小高度 (像素)preservenativescrolling: true, // 你可以用鼠标滚动可滚动区域的滚动条和增加鼠标滚轮事件railoffset: false, // 可以使用top/left来修正位置bouncescroll: false, // (only hw accell) 启用滚动跳跃的内容移动spacebarenabled: true, // 当按下空格时使页面向下滚动railpadding: { top: 0, right: 0, left: 0, bottom: 0 }, // 设置轨道的内间距disableoutline: true, // 当选中一个使用nicescroll的div时,chrome浏览器中禁用outlinehorizrailenabled: true, // nicescroll可以管理水平滚动railalign: right, // 对齐垂直轨道railvalign: bottom, // 对齐水平轨道enabletranslate3d: true, // nicescroll 可以使用CSS变型来滚动内容enablemousewheel: true, // nicescroll可以管理鼠标滚轮事件enablekeyboard: true, // nicescroll可以管理键盘事件smoothscroll: true, // ease动画滚动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则不支持水平滚动,如果设为auto支持双轴滚动scriptpath: "" // 为boxmode图片自定义路径 ("" => same script path)preventmultitouchscrolling: true // 防止多触点事件引发滚动});

当插件放在具有absolute浮动的容器中,并设置了top值时,插件的top会出现问题,解决方法使用插件的railoffset属性:

1 railoffset, you can add offset top/left for rail position (default:false)

加载数据的时候nicescroll滚动条闪烁,还有对绝对定位的元素(例如下拉框)使用滚动条,特别是在需要滚动条比较多的页面,导致位置错乱,这些问题需要对设置滚动条的元素的直接子元素设置,官方给出的答案是:

1 $('#addContent_scroll_wrap').niceScroll('#sumStackColumn',{'cursorcolor':'#686868','cursorborder':'none','smoothscroll': 'false','autohidemode':false});

但是之后仍然发现一个问题,在页面比较复杂的情况下,可能会出现,下拉框出来了,但是滚动条没出来,官方给出的说法是:当在同一页面中使用多个nicescroll插件时,要及时隐藏用完的nicescroll对象,加载时,需要先show,再resize。
所以采用resize()的方法,重置了滚动条,但是一定要注意,这里选择滚动条的对象,一定不能选错,否则也是无效的:

1 $('#addContent_scroll_wrap').getNiceScroll().show();
2 $('#addContent_scroll_wrap').getNiceScroll().resize();

示例代码

<!DOCTYPE html>
<html>
<head><script src="jquery-2.1.4.js"></script><script src="jquery.nicescroll.js"></script>
</head>
<body>
<div id="div1" style="width:100%;height:600px;overflow:auto;"><h1>这里是滚动条插件niceScroll的测试页面</h1><h2>这里是滚动条插件niceScroll的测试页面</h2><h3>这里是滚动条插件niceScroll的测试页面</h3><h4>这里是滚动条插件niceScroll的测试页面</h4><h5>这里是滚动条插件niceScroll的测试页面</h5><h6>这里是滚动条插件niceScroll的测试页面</h6><p>这里是滚动条插件niceScroll的测试页面</p><span>这里是滚动条插件niceScroll的测试页面</span><h1>下面是带有滚动条的子div</h1><div  id="div2" style="width:350px;height:200px;overflow:auto;border:1px solid red;"><div id="warp"><h1>我是带有滚动条的子div</h1><h2>我是带有滚动条的子div</h2><h3>我是带有滚动条的子div</h3><h4>我是带有滚动条的子div</h4><h5>我是带有滚动条的子div</h5><h6>我是带有滚动条的子div</h6></div></div><h1>这里是滚动条插件niceScroll的测试页面</h1><h2>这里是滚动条插件niceScroll的测试页面</h2><h3>这里是滚动条插件niceScroll的测试页面</h3><h4>这里是滚动条插件niceScroll的测试页面</h4><h5>这里是滚动条插件niceScroll的测试页面</h5><h6>这里是滚动条插件niceScroll的测试页面</h6>
</div>
</body>
<script>$(function () {$("#div1").niceScroll({cursorborder: "",cursorcolor: "#00F",boxzoom: false,autohidemode: false});$("#div2").niceScroll('#warp', {cursorborder: "",cursorcolor: "#00F",boxzoom: false,autohidemode: false});});</script>
</html>

地址:http://www.cnblogs.com/jinqi79731/p/nicescroll.html
官网:https://nicescroll.areaaperta.com/how-to-use/

jQuery插件之 Nicescroll滚动条相关推荐

  1. jQuery插件之slimScroll滚动条

    ##slimScroll滚动条 ###作用: 将任何div转换成一个带有滚动条的可滚动区域. slimScroll不占用任何视觉空间,因为它只出现在用户鼠标移入到这个div上的时候. 当用户进行onm ...

  2. 一款回到顶部的 jQuery 插件,支持 Div 中的滚动条回到顶部

    前言 今天在网上搜索"回到顶部"的 jQuery 插件,网上有很多,但是大部分都不支持让 Div 中的滚动条回到顶部.于是乎,不放弃,自己参考 Github 上的一个 jQuery ...

  3. jQuery插件:Tiny Scrollbar滚动条插件(滚动条美化、默认滚动条)

    Tiny Scrollbar是基于jQuery的滚动条插件, 风格简洁, 可自定义样式, 体积较小. 插件特点: 支持iPhone, iPad, Android 新版1.8,可以在移动设备上滚动内容 ...

  4. html滚动条自动翻页,10款无限滚动自动翻页jquery插件

    无限滚动自动翻页可以说是web2.0时代的一项堪称伟大的技术,它让我们在浏览页面的时候只需要把滚动条拉到网页底部就能自动显示下一页的结果,改变了一直以来只能通过点击下一页来翻页这种常规做法.无限滚动自 ...

  5. Lazy Load, 延迟加载图片的 jQuery 插件 - NeoEase

    Lazy Load, 延迟加载图片的 jQuery 插件 - NeoEase Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器 ...

  6. jQuery:收集一些基于jQuery框架开发的控件/jquery插件2

    Horizontal accordion: jQuery 基于jQuery开发,非常简单的水平方向折叠控件. 主页:http://letmehaveblog.blogspot.com/2007/10/ ...

  7. (转)jQuery插件:Image lazy loader图片延迟加载

    原文地址:http://www.cnblogs.com/cnfiowen/archive/2010/02/22/1671483.html Lazy Load 是一个用 JavaScript 编写的 j ...

  8. Lazy Load, 延迟加载图片的 jQuery 插件

    Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预 ...

  9. 全屏背景:15个jQuery插件实现全屏背景图像或媒体

    动态网站通常利用背景图像或预加载屏幕,以保证所有资源都加载到页面上,在浏览器中充分呈现.现在很多网站都炫耀自己的图像作为背景图像全屏背景,追溯到旧的Flash网站却用自己的方式在HTML资源重布局. ...

最新文章

  1. 单链表——判断一个单链表中是否有环
  2. 在已安装win10环境中利用EasyBCD引导安装Ubuntu18.04(亲自测试,都是血和泪)
  3. 解决The current branch is not configured for pull No value for key branch.master.merge found in config
  4. Ubuntu16.04 64位系统下安装百度云管家
  5. windows10中远程访问凭据不工作
  6. shell中的局部变量与全局变量
  7. python语法总结
  8. mysql教材课后题答案_MySql练习题参考答案
  9. cat 几行_CAT工具教程与解疑—SDL Trados 2021来了,分享一些简单测评体验
  10. C# 获取打印机状态
  11. python课程设计小结和体会_通用版课程设计心得体会
  12. 彻底搞懂单例模式的懒汉式饿汉式 双检索 线程安全问题
  13. 1. 简明误差卡尔曼滤波器(ESKF)及其推导过程
  14. 本地同城小程序开发需要具备什么功能
  15. AjaxFileUploaderV2.1修改版
  16. MySQL之——mysqldump参数详细说明
  17. 人生的机会成本(博弈论的诡计)
  18. teb planner error
  19. 2021-11-13
  20. Vue路由重复点击报错解决

热门文章

  1. 写码如写诗,Android代码规范有多重要?附阿里《Android代码规范指南》PDF
  2. 溢价词 | 夏日特惠清凉来袭
  3. 2021-10-01定积分小小的总结
  4. 正大国际期货:如何摆脱炒黄金期货被套单?
  5. 保姆级教程:js前端接入科大讯飞语音评测,实现朗读打分,vue对接科大讯飞语音评测,还可以实现句子逐词分析对错以及打分,将demo接入vue项目中
  6. 计算机管理磁盘怎么这么多,原先我的电脑里面硬盘有分很多个盘啊为什么我 – 手机爱问...
  7. APP抓包——Fiddler工具
  8. 废物日记之新版oscp通关历程
  9. TUTK p2p穿透的使用介绍
  10. mybatis类型转换配置(springboot集成mybatis的配置)