jquery ui是 jquery官方推出的配合jquery使用的用户界面组件集合!包含了许多的界面操作功能,如我们常用的表格排序,拖拽,TAB选项卡,滚动条,相册浏 览,日历控件,对话框等JS插件~~可以很方便的开发用户界面上的功能,使得您的开发工作事半功倍~~不用写繁琐的JS代码~
下载地址:http://ui.jquery.com/download
下载后会发现里面有很多的JS文件,也有DOME,您可以一一演示,现在,我介绍一些常用的UI库的使用
基本的鼠标互动:
拖拽(drag and dropping)、排序(sorting)、选择(selecting)、缩放(resizing)
各种互动效果:
手风琴式的折叠菜单(accordions)、日历(date pickers)、对话框(dialogs)、滑动条
(sliders)、表格排序(table sorters)、页签(tabs)
放大镜效果(magnifier)、阴影效果(shadow)
第一部分:鼠标交互
1.1 Draggables:拖拽
所需文件:
ui.mouse.js
ui.draggable.js
ui.draggable.ext.js
用法:文件载入后,可以拖拽class = “block”的层
- $(document).ready(function(){
- $(".block").draggable();
- });
draggable(options)可以跟很多选项
选项说明:http://docs.jquery.com/UI/Draggables/draggable#options
选项实例:http://dev.jquery.com/view/trunk/plugins/ui/tests/draggable.html
1.2 Droppables
所需要文件,drag drop
ui.mouse.js
ui.draggable.js
ui.draggable.ext.js
ui.droppable.js
ui.droppable.ext.js
用法:
- $(document).ready(function() {
- $(".block").draggable({ helper: 'clone' });
- $(".drop").droppable({
- accept: ".block",
- activeClass: 'droppable-active',
- hoverClass: 'droppable-hover',
- drop: function(ev, ui) {
- $(this).append("Dropped!");
- }
- });
- });
选项说明:http://docs.jquery.com/UI/Droppables/droppable#options
选项实例:http://dev.jquery.com/view/trunk/plugins/ui/tests/droppable.html
1.3 Sortables 排序
所需要的文件
jquery.dimensions.js
ui.mouse.js
ui.draggable.js
ui.droppable.js
ui.sortable.js
用法:
- $(document).ready(function(){
- $("#myList").sortable({});
- });
dimensions文档http://jquery.com/plugins/project/dimensions
选项说明:http://docs.jquery.com/UI/Sortables/sortable#options
选项实例:http://dev.jquery.com/view/trunk/plugins/ui/demos/ui.sortable.html
1.4 Selectables 选择
所需要的文件
jquery.dimensions.js
ui.mouse.js
ui.draggable.js
ui.droppable.js
ui.selectable.js
用法:
- $(document).ready(function(){
- $(”#myList”).selectable();
- });
选项说明:http://docs.jquery.com/UI/Selectables/selectable#options
选项实例:http://dev.jquery.com/view/trunk/plugins/ui/tests/selectable.html
1.5 Resizables改变大小
所需要的文件 ,此例子需要几个css文件
jquery.dimensions.js
ui.mouse.js
ui.resizable.js
用法:
- $(document).ready(function(){
- $(”#example”).resizable();
- });
CSS文件:http://dev.jquery.com/view/trunk/themes/flora/flora.all.css
选项说明:http://docs.jquery.com/UI/Resizables/resizable#options
选项实例:http://dev.jquery.com/view/trunk/plugins/ui/demos/ui.resizable.html
第二部分:互动效果
2.1 Accordion 折叠菜单
所需要的文件:
ui.accordion.js
jquery.dimensions.js
用法:
- $(document).ready(function(){
- $(”#example”).accordion();
- });
CSS文件:http://dev.jquery.com/view/trunk/themes/flora/flora.all.css
选项说明:http://docs.jquery.com/UI/Accordion/accordion#options
选项实例:http://dev.jquery.com/view/trunk/plugins/accordion/?p=1.1.1
2.2 dialogs 对话框
所需要的文件:
jquery.dimensions.js
ui.dialog.js
ui.resizable.js
ui.mouse.js
ui.draggable.js
用法:
- $(document).ready(function(){
- $("#example").dialog();
- });
CSS文件:http://dev.jquery.com/view/trunk/themes/flora/flora.all.css
选项说明:http://docs.jquery.com/UI/Dialog/dialog#options
选项实例:http://dev.jquery.com/view/trunk/plugins/ui/tests/dialog.html
2.3 sliders 滑动条
所需要的文件
jquery.dimensions.js
ui.mouse.js
ui.slider.js
用法:
- $(document).ready(function(){
- $("#example").slider();
- });
CSS文件:http://dev.jquery.com/view/trunk/themes/flora/flora.all.css
选项说明:http://docs.jquery.com/UI/Slider/slider#options
选项实例:http://dev.jquery.com/view/trunk/plugins/ui/demos/ui.slider.html
2.4 Tablesorter表格排序
所需要的文件
ui.tablesorter.js
用法:
- $(document).ready(function(){
- $("#example").tablesorter({sortList:[[0,0],[2,1]], widgets: ['zebra']});
- });
CSS文件:http://dev.jquery.com/view/trunk/themes/flora/flora.all.css
选项说明:http://docs.jquery.com/Plugins/Tablesorter/tablesorter#options
选项实例:http://tablesorter.com/docs/#Demo
2.5 tabs页签(对IE支持不是很好)
所需要的文件
ui.tabs.js
用法:
- $(document).ready(function(){
- $("#example > ul").tabs();
- });
CSS文件:http://dev.jquery.com/view/trunk/themes/flora/flora.all.css
选项说明:http://docs.jquery.com/UI/Tabs/tabs#initialoptions
选项实例:http://dev.jquery.com/view/trunk/plugins/ui/tests/tabs.html
tabs ext http://stilbuero.de/jquery/tabs_3/rotate.html
第三部分:效果
3.1 Shadow 阴影
实例http://dev.jquery.com/view/trunk/plugins/ui/demos/ui.shadow.html
3.2 Magnifier 放大
实例http://dev.jquery.com/view/trunk/plugins/ui/demos/ui.magnifier.html
http://jqueryui.net/tutorial/
本文档适用于 1.7.x 任意版本(1.7、1.7.1、1.7.2等)。
使用 jQuery UI 前,需了解 jQuery 核心库使用方法和 HTML、CSS、JavaScript 基础知识。
jQuery UI 践行渐进增强原则,通过标准 HTML 代码保证禁用 JavaScript 环境或移动设备的内容可访问性。利用 JavaScript 代码增强主流浏览器中交互特性,并兼容 WAI-ARIA 标准。各组件“综述”页会提供实例化各组件所需的标准 HTML 结构。
本页“属性”“事件”“方法”页面将提供各组件通用方法及修改属性、绑定事件、调用方法的语法规则。各组件页对应页面将提供各组件各自的 API 文档。
加载代码
首先在网页中加载开发包中 jQuery 核心库文件,再按需加载 ui.core.js、effects.core.js 及各组件代码文件,如设置可视组件外观需同时加载 CSS 主题文件。可参考开发包中各演示文件源代码。
创建组件实例方法
每个 jQuery UI 组件提供一个可串联的标准 jQuery 方法,创建实例时,仅需在 jQuery 对象上调用组件方法。如:
$("#login-form").dialog(); // 创建对话框
组件方法可串联使用:
创建可拖动位置、可调整大小的对象
$("#id").draggable().resizable();
创建标签页,设置每5秒自动切换标签
$("#news-panel").tabs().tabs("rotate",5000);
属性名称 属性值数据类型 默认属性值
创建实例时设置属性值
创建组件实例时,以 Object 型参数设置实例的属性。
$(".class").组件名({属性名1:值1,属性名2:值2});
如:
$(".class").draggable({axis:"x",cursor:"crosshair"});
获得属性值
组件实例化后,可以通过 option 方法获得属性值。
var a = $(".class").组件名("option",属性名);
如:
var axis = $(".class").draggable("option","axis");
重设属性值
组件实例化后,可以通过 option 方法重设属性值。
$(".class").组件名("option",属性名,属性值);
如:
$(".class").draggable("option","axis","y");
事件 事件类型
各事件均有两个参数。第一个参数为原始浏览器事件;第二个参数为包含组件相关元素、数值的 Object 型参数,其具体内容请参看各组件“综述”。
创建实例时设置事件
创建组件实例时,以 Object 型参数设置实例的事件。
$(".class").组件名({事件1:函数1,事件2:函数2});
如:
$(".class").draggable({ start:function(event,ui){...}, drag:function(event,ui){...} });
实例化后时绑定事件
组件实例化后,通过 bind 方法绑定事件。
$(".class").bind("事件类型",函数);
如:
$(".class").bind("dragstart",function(event,ui){...});
事件类型通常为“组件名+事件”或“动作名+事件”,当“动作名”与“事件”相同时,仅使用“动作名”。
方法名 .组件名("方法名")
组件实例化后,可调用组件方法执行特定功能。每个组件均有四个通用方法:disable、enable、destroy、option,也有组件自己的特定方法。
disable 禁止操作组件
组件依然可见,但暂停响应用户操作。
以下代码使日期选择控件暂停响应用户操作:
$("#id").datepicker("disable");
enable 允许操作组件
重新允许操作暂停响应用户操作的组件。
以下代码使日期选择控件暂停响应用户操作:
$("#id").datepicker("enable");
destroy 销毁组件实例
销毁组件实例后,由 jQuery UI 添加的 HTML 标签、DOM 事件均被删除,恢复原始 HTML 代码。
option 修改或获取属性值
详见上方“属性”说明。
jQuery UI 各组件生成固定格式的 HTML 代码和 CSS 类名,可通过修改 CSS 的方式改变样式。各组件文档页将提供所生成的标准代码,可参考该代码配置 CSS。
通过 ThemeRoller,可为 jQuery UI 制定各种主题,可配置字体、字号、文字颜色、底纹样式、底纹颜色、圆角大小等。