jQuery中Nicescroll滚动条插件的用法


Posted in Javascript onNovember 10, 2016

本篇文章主要介绍了jQuery中Nicescroll滚动条插件的用法,Nicescroll滚动条插件是一个非常强大的基于jQuery的滚动条插件,有需要的可以了解下。
Nicescroll滚动条插件是一个非常强大的基于jQuery的滚动条插件,不需要增加额外的css,几乎全浏览器兼容。ie6+,实现只需要一段代码,侵入性非常小,样式可完全自定义,支持触摸事件,可在触摸屏上使用。

Nicescroll官网地址:http://www.areaaperta.com/nicescroll/

引入核心文件,插件需要引入1.5.X以上版本的jquery库

最简单的用法如下:

$(document).ready(
 function() { 
  $("html").niceScroll();
 }
);

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

隐藏滚动条

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

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

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

滚动到某个位置

$("#mydiv").getNiceScroll(0).doScrollLeft(x, duration); // Scroll X Axis
$("#mydiv").getNiceScroll(0).doScrollTop(y, duration); // Scroll Y Axis

可增加各种参数

$(document).ready(
 function() { 
  $("#thisdiv").niceScroll({cursorcolor:"#00F"});
 }
);

配置参数表

$("#thisdiv").niceScroll({
    cursorcolor: "#424242", // 改变滚动条颜色,使用16进制颜色值
    cursoropacitymin: 0, // 当滚动条是隐藏状态时改变透明度, 值范围 1 到 0
    cursoropacitymax: 1, // 当滚动条是显示状态时改变透明度, 值范围 1 到 0
    cursorwidth: "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" icon
    autohidemode: 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浏览器中禁用outline
    horizrailenabled: 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 // 防止多触点事件引发滚动
  });

另外注意:当在同一页面中使用多个nicescroll插件时,要及时隐藏用完的nicescroll对象,加载时,需要先show,再resize。

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
(JS实现)MapBar中坐标的加密和解密的脚本
May 16 Javascript
jQuery使用before()和after()在元素前后添加内容的方法
Mar 26 Javascript
localResizeIMG先压缩后使用ajax无刷新上传(移动端)
Aug 11 Javascript
基于jQuery实现带动画效果超炫酷的弹出对话框(附源码下载)
Feb 22 Javascript
Angular 理解module和injector,即依赖注入
Sep 07 Javascript
Angularjs实现分页和分页算法的示例代码
Dec 23 Javascript
详解VUE的状态控制与延时加载刷新
Mar 27 Javascript
Node.js使用cookie保持登录的方法
May 11 Javascript
微信小程序之数据绑定原理解析
Aug 14 Javascript
微信小程序实现禁止分享代码实例
Oct 19 Javascript
微信公众号网页分享功能开发的示例代码
May 27 Javascript
Openlayers实现地图的基本操作
Sep 28 Javascript
js对字符串进行编码的方法总结(推荐)
Nov 10 #Javascript
EasyUI 结合JS导出Excel文件的实现方法
Nov 10 #Javascript
浅谈MVC+EF easyui dataGrid 动态加载分页表格
Nov 10 #Javascript
微信小程序 后台https域名绑定和免费的https证书申请详解
Nov 10 #Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
Nov 10 #Javascript
浅谈layer的iframe弹窗给里面的标签赋值的问题
Nov 10 #Javascript
微信小程序 删除项目工程实现步骤
Nov 10 #Javascript
You might like
PHP基于yii框架实现生成ICO图标
2015/11/13 PHP
thinkPHP引入类的方法详解
2016/12/08 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
php使用curl伪造来源ip和refer的方法示例
2018/05/08 PHP
利用jQuery的$.event.fix函数统一浏览器event事件处理
2009/12/21 Javascript
jquery tab插件制作实现代码
2010/06/22 Javascript
关于Mozilla浏览器不支持innerText的解决办法
2011/01/01 Javascript
js中cookie的添加、取值、删除示例代码
2013/10/21 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
2014/02/04 Javascript
JavaScript实现检查页面上的广告是否被AdBlock屏蔽了的方法
2014/11/03 Javascript
用javascript实现自动输出网页文本
2015/07/30 Javascript
js实现仿MSN带关闭功能的右下角弹窗代码
2015/09/04 Javascript
jquery跟随屏幕滚动效果的实现代码
2016/04/13 Javascript
JavaScript的Backbone.js框架环境搭建及Hellow world示例
2016/05/07 Javascript
Jquery跨域获得Json的简单实例
2016/05/18 Javascript
javascript弹出窗口中增加确定取消按钮
2016/06/24 Javascript
Angular.JS通过指令操作DOM的方法
2017/05/10 Javascript
详解Vue-cli 创建的项目如何跨域请求
2017/05/18 Javascript
将 vue 生成的 js 上传到七牛的实例
2017/07/28 Javascript
ionic2中使用自动生成器的方法
2018/03/04 Javascript
Vue使用虚拟dom进行渲染view的方法
2019/12/26 Javascript
微信小程序学习总结(一)项目创建与目录结构分析
2020/06/04 Javascript
vue实现简单加法计算器
2020/10/22 Javascript
[01:56]2014DOTA2西雅图邀请赛 MVP外卡赛老队长精辟点评
2014/07/09 DOTA
Tesserocr库的正确安装方式
2018/10/19 Python
Python2与Python3的区别实例分析
2019/04/11 Python
python 给图像添加透明度(alpha通道)
2020/04/09 Python
在python3.64中安装pyinstaller库的方法步骤
2020/06/02 Python
python上selenium的弹框操作实现
2020/07/13 Python
Python+Selenium随机生成手机验证码并检查页面上是否弹出重复手机号码提示框
2020/09/21 Python
使用numpngw和matplotlib生成png动画的示例代码
2021/01/24 Python
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度
2016/08/15 面试题
房屋出租委托书格式
2014/09/23 职场文书
材料员岗位职责范本
2015/04/11 职场文书
志愿者服务活动总结报告
2015/05/06 职场文书
Python机器学习三大件之一numpy
2021/05/10 Python