nanoScrollerJS是一款使用简单方式实现 Mac OS X Lion 系统滚动条效果的jQuery插件。该滚动条插件使用最小的HTML结构 .nano > .nano-content 。其它的滚动条元素 .pane > .nano-slider 是在插件运行时动态加载的。该滚动条插件利用原生的滚动条可以工作在 iPad、iPhone 和一些 Android Tablets上。
使用方法
HTML结构
下面是该滚动条插件工作所必须的HTML结构:
复制代码 代码如下:
<div id="about" class="nano">
<div class="nano-content"> ... content here ... </div>
</div>
nano 和 nano-content 的class名称可以通过插件参数来改变(改变后插件的CSS文件也要相应的改变)。
CSS样式
在HTML <header> 中引入 nanoscroller.css 文件。
复制代码 代码如下:
<link rel="stylesheet" href="nanoscroller.css">
你必须为容器指定一个宽度和高度,并为你的滚动条定制一些基本样式,例如:
复制代码 代码如下:
.nano { background: #bba; width: 500px; height: 500px; }
.nano > .nano-content { padding: 10px; }
.nano > .nano-pane { background: #888; }
.nano > .nano-pane > .nano-slider { background: #111; }
JAVASCRIPT
在页面中引入 jquery.nanoscroller.js 文件。
复制代码 代码如下:
<script type="text/javascript" src="/UploadFiles/2021-04-02/jquery.nanoscroller.js">
然后使用下面的方法调用该滚动条插件,HTML中所有带有 .nano 的DOM元素都会被应用上该方法:
复制代码 代码如下:
$(".nano").nanoScroller();
高级方法
滚动到顶部:
复制代码 代码如下:
$(".nano").nanoScroller({ scroll: 'top' });
滚动到底部:
复制代码 代码如下:
$(".nano").nanoScroller({ scroll: 'bottom' });
滚动到顶部并带个偏移值:
复制代码 代码如下:
$(".nano").nanoScroller({ scrollTop: value });
滚动到底部并带个偏移值:
复制代码 代码如下:
$(".nano").nanoScroller({ scrollBottom: value });
滚动一个元素:
复制代码 代码如下:
$(".nano").nanoScroller({ scrollTo: $('#a_node') });
停止滚动操作。这个选项将会使滚动条插件的所有绑定事件无效,并在UI上隐藏滚动条。
复制代码 代码如下:
$(".nano").nanoScroller({ stop: true });
destroy
销毁nanoScroller滚动条并将滚动条重置为浏览器原生滚动条:
复制代码 代码如下:
$(".nano").nanoScroller({ destroy: true });
设置滚动条闪动,闪动时间由参数来设置(默认1.5秒)。
复制代码 代码如下:
$(".nano").nanoScroller({ flash: true });
nanoScroller();
刷新滚动条。该操作会简单的重新计算滚动条的位置和高度:
复制代码 代码如下:
$(".nano").nanoScroller();
自定义事件
scrollend
一个自定义的 scrollend 事件会在每次滚动条滚动到容器底部时触发。(当滚动条已经到达容器底部,用户再次滚动时不会触发该事件)
复制代码 代码如下:
$(".nano").bind("scrollend", function(e){
console.log("current HTMLDivElement", e.currentTarget);
});
有些浏览器会在同一时间多次触发该事件,所以应该使用jQuery .bind 或 .on 来绑定该事件。你可以使用 jquery-debounce 插件来使浏览器每隔100毫秒才触发一次该事件:
复制代码 代码如下:
$(".nano").debounce("scrollend", function() {
alert("The end");
}, 100);
scrolltop
和 scrollend 事件相同,它是每次用户滚动到容器的顶部时触发。
和 scrollend 事件和 scrolltop 事件相同,它在用户每次滚动时触发。该事件附带滚动条当前位置、最大高度和方向( up 或 down )的js对象参数:
复制代码 代码如下:
$(".nano").on("update", function(event, values){
console.debug( values );
});
配置参数
该滚动条插件中有一组参数可以使用:
iOSNativeScrolling
如果你希望在 iOS 5+ 中使用原生的滚动条,可以设置为 true 。在 iOS 5+ 中原生的滚动条会工作的更好。
注意当 iOSNativeScrolling 设置为 true 时, .pane 和 .slider 不会被设备生成/添加来支持原生的滚动条。
默认值 :false。
复制代码 代码如下:
$(".nano").nanoScroller({ iOSNativeScrolling: true });
sliderMinHeight
设置滚动元素的最小高度:
默认值 :20。
复制代码 代码如下:
$(".nano").nanoScroller({ sliderMinHeight: 40 })
sliderMaxHeight
设置滚动元素的最大高度:
默认值 :null。
复制代码 代码如下:
$(".nano").nanoScroller({ sliderMaxHeight: 200 });
preventPageScrolling
设置为 true 时可以在容器内容滚动到顶部或底部时阻止页面滚动:
默认值 :false。
复制代码 代码如下:
$(".nano").nanoScroller({ preventPageScrolling: true });
disableResize
设置为 true 阻止nanoscroller改变大小。如果你设置该选项为 true ,记住要调用reset方法,否则会产生奇怪的问题:
默认值 :false。
复制代码 代码如下:
$(".nano").nanoScroller({ disableResize: true });
alwaysVisible
设置为 true 关闭滚动条停止时自动隐藏功能:
默认值 :false。
复制代码 代码如下:
$(".nano").nanoScroller({ alwaysVisible: true });
flashDelay
在你开启 flash 选项时,该选项用于指定闪动的延时:
默认值 :1500。
复制代码 代码如下:
$(".nano").nanoScroller({ flashDelay: 1000 });
paneClass
滚动条track元素的class名称。如果你修改了它,需要在CSS文件中做相应的修改:
默认值 : 'nano-pane'。
复制代码 代码如下:
$(".nano").nanoScroller({ sliderClass: 'scrollSlider' });
contentClass
滚动条容器div的class名称。如果你修改了它,需要在CSS文件中做相应的修改:
默认值 : 'nano-content'。
复制代码 代码如下:
$(".nano").nanoScroller({ contentClass: 'sliderContent' });
tabIndex
设置可滚动内容的顺序,设置为-1时使用tab键会跳过该内容:
默认值 :0。
复制代码 代码如下:
$(".nano").nanoScroller({ tabIndex: 0 });
浏览器兼容
桌面设备
IE7+
Firefox 3+
Chrome
Safari 4+
Opera 11.60+
移动设备
iOS 5+ (iPhone, iPad 和 iPod Touch)
iOS 4 (附带一个插件)
Android Firefox
Android 2.2/2.3 native browser (附带一个插件)
Android Opera 11.6 (附带一个插件)
通过插件在移动设备浏览器更好的运行nanoScroller
你可以通过 overthrow.js 来使nanoScroller 在移动浏览器上更好的工作。它会在移动设备上模拟CSS的overflow( overflow: auto;/overflow: scroll; )。
要使用overthrow,在页面中引入overthrow.js:
复制代码 代码如下:
<script src="/UploadFiles/2021-04-02/overthrow.js">
然后在你的滚动条内容 div 中添加 overthrow class:
复制代码 代码如下:
<div id="about" class="nano">
<div class="overthrow nano-content"> ... content here ... </div>
</div>
以上就是关于nanoscroller插件的使用方法,希望大家能够喜欢。
jQuery,滚动条
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新动态
- 中国武警男声合唱团《辉煌之声1天路》[DTS-WAV分轨]
- 紫薇《旧曲新韵》[320K/MP3][175.29MB]
- 紫薇《旧曲新韵》[FLAC/分轨][550.18MB]
- 周深《反深代词》[先听版][320K/MP3][72.71MB]
- 李佳薇.2024-会发光的【黑籁音乐】【FLAC分轨】
- 后弦.2012-很有爱【天浩盛世】【WAV+CUE】
- 林俊吉.2012-将你惜命命【美华】【WAV+CUE】
- 晓雅《分享》DTS-WAV
- 黑鸭子2008-飞歌[首版][WAV+CUE]
- 黄乙玲1989-水泼落地难收回[日本天龙版][WAV+CUE]
- 周深《反深代词》[先听版][FLAC/分轨][310.97MB]
- 姜育恒1984《什么时候·串起又散落》台湾复刻版[WAV+CUE][1G]
- 那英《如今》引进版[WAV+CUE][1G]
- 蔡幸娟.1991-真的让我爱你吗【飞碟】【WAV+CUE】
- 群星.2024-好团圆电视剧原声带【TME】【FLAC分轨】