• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >jquery > jQuery制作仿Mac Lion OS滚动条效果

jQuery制作仿Mac Lion OS滚动条效果

作者: 字体:[增加 减小] 来源:互联网 时间:2017-08-16

通过本文主要向大家介绍了jQuery,滚动条等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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="js/jquery.nanoscroller.js"></script>

然后使用下面的方法调用该滚动条插件,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="overthrow.js"></script>

然后在你的滚动条内容 div 中添加 overthrow class:

<div id="about" class="nano">
    <div class="overthrow nano-content"> ... content here ...  </div>
</div>

以上就是关于nanoscroller插件的使用方法,希望大家能够喜欢。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 基于jQuery对象和DOM对象和字符串之间的转化实例
  • jquery+css实现简单的图片轮播效果
  • 使用jQuery实现鼠标点击左右按钮滑动切换
  • jQuery实现上传图片前预览效果功能
  • jQuery初级教程之网站品牌列表效果
  • 基于jquery实现多选下拉列表
  • jQuery接受后台传递的List的实例详解
  • 详解jquery选择器的原理
  • jQuery上传插件webupload使用方法
  • 关于jquery form表单序列化的注意事项详解

相关文章

  • 2017-08-16jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
  • 2017-08-16基于jquery的一个拖拽到指定区域内的效果
  • 2017-08-16JQuery中操作Css样式的方法
  • 2017-08-16jQuery简单实现页面元素置顶时悬浮效果示例
  • 2017-08-16jQuery实现TAB选项卡切换特效简单演示
  • 2017-08-16jQuery 1.9.1源码分析系列(十三)之位置大小操作
  • 2017-08-16使用基于jquery的gamequery插件做JS乒乓球游戏
  • 2017-08-16jQuery设置单选按钮radio选中/不可用的实例代码
  • 2017-08-16一样的table?不一样的table(可编辑状态table)
  • 2017-08-16Jquery attr()方法 属性赋值和属性获取详解

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • jQuery异步上传文件插件ajaxFileUpload详细介绍
    • 通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)
    • jquery选择器的选择使用及性能介绍
    • JQuery 解析多维的Json数据格式
    • jQuery插件HighCharts绘制2D饼图效果示例【附demo源码下载】
    • JQuery的ajax基础上的超强GridView展示
    • jQuery对html元素的取值与赋值实例详解
    • easy ui datagrid 从编辑框中获取值的方法
    • 基于PHP和Mysql相结合使用jqGrid读取数据并显示
    • jQuery简易图片放大特效示例代码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有