NiceScroll文档阅读笔记-NiceScroll(3.7.6)基本使用

Posted IT1995

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NiceScroll文档阅读笔记-NiceScroll(3.7.6)基本使用相关的知识,希望对你有一定的参考价值。

前言

官方已经给出很好的文档了。在此本人总结下,方便以后查阅:

GitHub - inuyaksa/jquery.nicescroll: nicescroll plugin for jquery - scrollbars like iphone/ipad

nicescroll是一个jquery的插件,需要先包含jquery,再使用这框架,NiceScroller可用于jQuery1.x/2.x/3.x版本,但不能在slim版本中使用。

使用

首先需要先保护jQuery,,然后再把jquery.nicesroll.min.js和zoomico.png放到项目中,注意,zoomico.png要和jquery.nicescroll.min.js放到同一个目录下。

注意:如果不需要使用NiceScroll提供了zoom功能,就不需要加入zoomic.png图片。

通常在document的ready的时候的初始化NiceScroll

// 1. Simple mode, it styles document scrollbar:【直接替换传统的scroll】
$(function()   
    $("body").niceScroll();
);

// 2. Instance with object returned:【获取body中替换的NiceScroll对象】
var nice = false;
$(function()   
    nice = $("body").niceScroll();
);

// 3. Style a DIV and change cursor color:【改变div的style】
$(function()   
    $("#thisdiv").niceScroll(cursorcolor:"#00F");
);

// 4. DIV with "wrapper", formed by two divs, the first is the vieport, the latter is the content:【div嵌套时的用法,外层的叫viewport,内层的是warpper】
$(function() 
    $("#viewportdiv").niceScroll("#wrapperdiv",cursorcolor:"#00F");
);

// 5. Get nicescroll object:【获取NiceScroll对象】
var nice = $("#mydiv").getNiceScroll();

// 6. Hide scrollbars:【隐藏Scrollbars】
$("#mydiv").getNiceScroll().hide();

// 7. Check for scrollbars resize (when content or position have changed):【当内容和位置发生改变时,就要使用resize这个函数了】
$("#mydiv").getNiceScroll().resize();

// 8. Scrolling to a position:【获取sroll的位置,x轴和y轴】
$("#mydiv").getNiceScroll(0).doScrollLeft(x, duration); // Scroll X Axis
$("#mydiv").getNiceScroll(0).doScrollTop(y, duration); // Scroll Y Axis

NiceScroll相关参数

$("#thisdiv").niceScroll(
    cursorcolor: "#424242", // change cursor color in hex
    cursoropacitymin: 0, // change opacity when cursor is inactive (scrollabar "hidden" state), range from 1 to 0
    cursoropacitymax: 1, // change opacity when cursor is active (scrollabar "visible" state), range from 1 to 0
    cursorwidth: "5px", // cursor width in pixel (you can also write "5px")
    cursorborder: "1px solid #fff", // css definition for cursor border
    cursorborderradius: "5px", // border radius in pixel for cursor
    zindex: "auto" | [number], // change z-index for scrollbar div
    scrollspeed: 60, // scrolling speed
    mousescrollstep: 40, // scrolling speed with mouse wheel (pixel)
    touchbehavior: false, // DEPRECATED!! use "emulatetouch"
    emulatetouch: false, // enable cursor-drag scrolling like touch devices in desktop computer
    hwacceleration: true, // use hardware accelerated scroll when supported
    boxzoom: false, // enable zoom for box content
    dblclickzoom: true, // (only when boxzoom=true) zoom activated when double click on box
    gesturezoom: true, // (only when boxzoom=true and with touch devices) zoom activated when pinch out/in on box
    grabcursorenabled: true // (only when touchbehavior=true) display "grab" icon
    autohidemode: true, // how hide the scrollbar works, possible values: 
      true | // hide when no scrolling
      "cursor" | // only cursor hidden
      false | // do not hide,
      "leave" | // hide only if pointer leaves content
      "hidden" | // hide always
      "scroll", // show only on scroll          
    background: "", // change css for rail background
    iframeautoresize: true, // autoresize iframe on load event
    cursorminheight: 32, // set the minimum cursor height (pixel)
    preservenativescrolling: true, // you can scroll native scrollable areas with mouse, bubbling mouse wheel event
    railoffset: false, // you can add offset top/left for rail position
    bouncescroll: false, // (only hw accell) enable scroll bouncing at the end of content as mobile-like 
    spacebarenabled: true, // enable page down scrolling when space bar has pressed
    railpadding:  top: 0, right: 0, left: 0, bottom: 0 , // set padding for rail bar
    disableoutline: true, // for chrome browser, disable outline (orange highlight) when selecting a div with nicescroll
    horizrailenabled: true, // nicescroll can manage horizontal scroll
    railalign: right, // alignment of vertical rail
    railvalign: bottom, // alignment of horizontal rail
    enabletranslate3d: true, // nicescroll can use css translate to scroll content
    enablemousewheel: true, // nicescroll can manage mouse wheel events
    enablekeyboard: true, // nicescroll can manage keyboard events
    smoothscroll: true, // scroll with ease movement
    sensitiverail: true, // click on rail make a scroll
    enablemouselockapi: true, // can use mouse caption lock API (same issue on object dragging)
    cursorfixedheight: false, // set fixed height for cursor in pixel
    hidecursordelay: 400, // set the delay in microseconds to fading out scrollbars
    directionlockdeadzone: 6, // dead zone in pixels for direction lock activation
    nativeparentscrolling: true, // detect bottom of content and let parent to scroll, as native scroll does
    enablescrollonselection: true, // enable auto-scrolling of content when selection text
    cursordragspeed: 0.3, // speed of selection when dragged with cursor
    rtlmode: "auto", // horizontal div scrolling starts at left side
    cursordragontouch: false, // drag cursor in touch / touchbehavior mode also
    oneaxismousemode: "auto", // it permits horizontal scrolling with mousewheel on horizontal only content, if false (vertical-only) mousewheel don't scroll horizontally, if value is auto detects two-axis mouse
    scriptpath: "" // define custom path for boxmode icons ("" => same script path)
    preventmultitouchscrolling: true // prevent scrolling on multitouch events
    disablemutationobserver: false // force MutationObserver disabled,
    enableobserver: true // enable DOM changing observer, it tries to resize/hide/show when parent or content div had changed
    scrollbarid: false // set a custom ID for nicescroll bars 
);

此处用个表简单解释下:

propertyvaluedescription
cursorcolor"#424242"改变光标颜色(十六进制)
cursoropacitymin0当光标是无效状态时改变其透明度,范围从1到0
cursoropacitymax1当光标是有效状态时改变其透明度,范围从1到0
cursorwidth"5px"光标的宽度为5像素
cursorborder"1px solid #fff"使用css定义光标包边
cursorborderradius"5px"光标的包边半径(改包边为圆弧)
zindex"auto" | [number]改变光标div的z-index
scrollspeed60光标速率
mousescrollstep40用滚轮滚动的光标速率
touchbehaviorfalse不要使用,改用emulatetouch
emulatetouchfalse开启cursor-darg功能(像触屏滚动的那个效果)
hwaccelerationtruehw是hardware,使用硬件加数功能
boxzoomfalse开启内容放缩功能
dbclickzoomtrue当boxzoom为true时使用,当鼠标双击时zoom为激活状态
gesturezoomtrue当boxzoom为true、touch devices为true时使用
grabcursorenabledtrue当touchbehavior=true时生效,展示"grab"图标
autohidemodetrue
"cursor"
false
"leave"
"hidden"
"scroll"
当不滚动时,scrolllbar被隐藏;
仅光标被隐藏;
不隐藏;
仅隐藏上下箭头;
隐藏;
只有在滚的时候显示
background""使用css定义background
iframeautoresizetrueauto resize
cursorminheight32设置光标最小高度
preservenatviescrollingtrue使用原始的滚轮
radiloffsetfalse为rail postiont添加top/left的偏移
bouncescrollfalse(only hw accell) enable scroll bouncing at the end of content as mobile-like
spacebarenabledtrueenable page down scrolling when space bar has pressed
railpaddingtop: 0, right: 0, left 0, bottom: 0给rail bar设置padding
disableoutlinetruefor chrome browser, disable outline (orange highlight) when selecting a div with nicescroll
horizrailenabledtruenicescroll can manage horizontal scroll
railalignright垂直滑轨的位置
railvalignbottom水平滑轨的位置
enabletranslate3dtruenicescroll can use css translate to scroll content
enablemousewheeltruenicescroll can manage mouse wheel events
enablekeyboardtruenicescroll can manage keyboard events
smoothscrolltruescroll with ease movement
sensitiverailtrueclick on rail make a scroll
enablemouselockapitruecan use mouse caption lock API (same issue on object dragging)
cursorfixedheightfalse设置光标固定高度
hidecursordelay400set the delay in microseconds to fading out scrollbars
directionlockdeadzone6dead zone in pixels for direction lock activation
nativeparentscrollingtruedetect bottom of content and let parent to scroll, as native scroll does
enablescrollonselectiontrueenable auto-scrolling of content when selection text
cursordragontouch0.3speed of selection when dragged with cursor
oneaxismousemode"auto"horizontal div scrolling starts at left side
scriptpath""drag cursor in touch / touchbehavior mode also
preventmultitouchscrollingtrueit permits horizontal scrolling with mousewheel on horizontal only content, if false (vertical-only) mousewheel don't scroll horizontally, if value is auto detects two-axis mouse
disablemutationobserverfalseforce MutationObserver disabled
enableobservertrueenable DOM changing observer, it tries to resize/hide/show when parent or content div had changed
    scrollbarid: false // set a custom ID for nicescroll bars 
scrollbaridfalseset a custom ID for nicescroll bars

以上是关于NiceScroll文档阅读笔记-NiceScroll(3.7.6)基本使用的主要内容,如果未能解决你的问题,请参考以下文章

滚动条美化插件 nicescroll

Python 3.6文档阅读笔记

Resin文档阅读笔记

jquery.nicescroll.min.js滚动条插件的用法

Beautiful Soup 4.2.0文档阅读笔记

jquery.nicescroll.min.js滚动条使用方法