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 相关文章推荐
javascript计算用户打开网页的停留时间
Jan 09 Javascript
Javascript排序算法之合并排序(归并排序)的2个例子
Apr 04 Javascript
Javascript 读取操作Sql中的Xml字段
Oct 09 Javascript
jQuery性能优化技巧分析
Feb 20 Javascript
使用canvas实现仿新浪微博头像截取上传功能
Sep 02 Javascript
jquery实现简单实用的弹出层效果代码
Oct 15 Javascript
使用node.js实现微信小程序实时聊天功能
Aug 13 Javascript
Angular实现svg和png图片下载实现
May 05 Javascript
微信小程序实现的picker多级联动功能示例
May 23 Javascript
JS实现的对象去重功能示例
Jun 04 Javascript
layui table 多行删除(id获取)的方法
Sep 12 Javascript
js如何验证密码强度
Mar 18 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
dedecms中显示数字验证码的修改方法
2007/03/21 PHP
php使用codebase生成随机数
2014/03/25 PHP
PHP自定义错误用法示例
2016/09/28 PHP
PHP面向对象程序设计__tostring()和__invoke()用法分析
2019/06/12 PHP
初窥JQuery(二)事件机制(2)
2010/12/06 Javascript
Javascript学习笔记-详解in运算符
2011/09/13 Javascript
js实现在页面上弹出蒙板技巧简单实用
2013/04/16 Javascript
使用js检测浏览器是否支持html5中的video标签的方法
2014/03/12 Javascript
js函数模拟显示桌面.scf程序示例
2014/04/20 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
jq给页面添加覆盖层遮罩的实例
2017/02/16 Javascript
Linux使用Node.js建立访问静态网页的服务实例详解
2017/03/21 Javascript
使用jQuery ajaxupload插件实现无刷新上传文件
2017/04/23 jQuery
不得不看之JavaScript构造函数及new运算符
2017/08/21 Javascript
详解vue移动端项目代码拆分记录
2019/03/15 Javascript
微信小程序常用赋值方法小结
2019/04/30 Javascript
基于Vue实现电商SKU组合算法问题
2019/05/29 Javascript
vue监听滚动事件的方法
2020/12/21 Vue.js
[02:20]DOTA2英雄基础教程 黑暗贤者
2013/12/19 DOTA
Python代理抓取并验证使用多线程实现
2013/05/03 Python
浅谈Python黑帽子取代netcat
2018/02/10 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
2018/04/05 Python
Python之读取TXT文件的方法小结
2018/04/27 Python
Python字典创建 遍历 添加等实用基础操作技巧
2018/09/13 Python
Python使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例
2019/12/18 Python
Python实现上下文管理器的方法
2020/08/07 Python
Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
2012/06/05 面试题
董事长秘书岗位职责
2013/11/29 职场文书
初中升旗仪式演讲稿
2014/05/08 职场文书
本科毕业生自荐信
2014/06/02 职场文书
幼儿园小班个人工作总结
2015/02/12 职场文书
Python入门学习之类的相关知识总结
2021/05/25 Python
告别网页搜索!教你用python实现一款属于自己的翻译词典软件
2021/06/03 Python
Nginx进程调度问题详解
2021/09/25 Servers
Java 写一个简单的图书管理系统
2022/04/26 Java/Android
Centos7 Shell编程之正则表达式、文本处理工具详解
2022/08/05 Servers