首页 > 代码库 > jQuery UI
jQuery UI
jQuery UI
界面主题库
若需要更多的主题包,可以下载主题包jquery-ui-themes-1.8.1.zip,
解压后其中的每一个文件夹代表一个主题。
Draggable拖动组件
需要导入以下ui文件:
jquery.ui.core.js
jquery.ui.widget.js
jquery.ui.mouse.js
jquery.ui.draggable.js
属性
属性名 | 数据类型 | 默认值 | 说明 |
addClasses | Boolean | true | 指示是否对可拖动元素添加 ui-draggable类 |
appendTo | Element Selector | "parent" | 为元素指定一个容器元素 |
axis | String | false | 限制元素的拖动轨迹,可接受 "x"和"y"或false |
cancel | Selector | ":input" | 指定非拖动手柄元素 |
connectToSortable | Selector | false | 允许将元素拖至一个可排序列表上, 属性值为可排序列表的选择符 |
containment | Selector Element String Array | false | 指定拖动元素的元素拖动区域, 属性值可能为:"parent", "document","window" [x1,y1,x2,y2]等 |
cursor | String | "auto" | 鼠标位于元素之上的cursor样式 |
cursorAt | Object | false | 指定拖动对象时,光标出现的位置。 可以指定top、left、right、 Bottom的一个或两个 |
delay | Integer | 0 | 指定开始拖动时延迟的毫秒数 |
distance | Integer | 1 | 指定开始拖动的延迟距离像素 |
grid | Array | false | 使元素对齐页面上的虚拟网格。 |
handle | Element Selector | false | 指定拖动元素的拖动手柄 |
helper | String Function | "original" | 指定拖动元素时显示的辅助元素。 其值可以为"original"、"clone" 或函数,函数必须返回一个DOM元素 |
iframeFix | Boolean Selector | false | 是否阻止iframe元素在拖动中捕获 Mousemove事件,若为选择符, 则只阻止匹配元素的事件。 |
opacity | Float | false | 指定辅助元素的不透明度 |
revert | Boolean String | false | 若为true则拖动停止时,将返回 起始位置。若为"invalid",则 仅当未拖到目标位置才返回。 "valid"则与"invalid"相反 |
revertDuration | Integer | 500 | 指定返回起始位置的毫秒数 |
scope | String | "default" | 指定拖放元素的目标集, 与droppable中的同名属性使用 |
scroll | Boolean | true | 拖动容器元素时,是否自动滚动 |
scrollSensitivity | Integer | 20 | 指定元素在距离容器边缘多少像素 时开始滚动。 |
scrollSpeed | Integer | 20 | 指定容器元素滚动的速度 |
snap | Boolean Selector | false | 指定拖动元素靠近选择元素的边缘 会自动对齐 |
snapMode | String | "both" | 指定元素对齐目标元素的那条边, 可选值:"inner"、"outer"和 "both" |
snapTolerance | Integer | 20 | 指定元素距离目标元素多少像素 时,开始自动对齐 |
zIndex | Integer | false | 设置辅助元素的zIndex |
方法
$(selector).draggable("disable"); // 禁止其拖动功能
$(selector).draggable("enable"); // 激活其拖动功能
$(selector).draggable("destory"); // 完全删除拖动功能
$(selector).draggable("option", name[, value]); // 获取/设置属性值
事件
1、 start事件:类型:dragstart,当开始拖动时触发
2、 drag事件:类型:drag,当拖动过程中移动鼠标时触发
3、 stop事件:类型:dragstop,当停止拖动时触发
事件绑定:
$(select).draggable(
eventName:function(event, ui){
1、 event:表示事件对象
2、 ui:表示拖动元素对象,具有如下属性:
a) helper:jQuery对象,表示辅助元素
b) position:包含top属性和left属性的对象,
表示辅助元素相对于起始位置点的位置
c) offset:包含top属性和left属性的对象,
表示辅助元素相对于页面的绝对位置
}
);
Droppable投放组件
jquery.ui.core.js
jquery.ui.widget.js
jquery.ui.mouse.js
jquery.ui.draggable.js
jquery.ui.droppable.js
属性
属性 | 数据类型 | 默认值 | 说明 |
accept | Selector Function | "*" | 设置投放对象可接受的元素,若提供函数, 则把拖动元素作为第一个参数传给函数, 则使该函数返回true的元素皆可 |
activeClass | String | false | 设置可接受的拖动元素处于拖动状态时, 可投放对象的CSS样式 |
addClass | Boolean | true | 是否允许投放对象添加ui-droppable类 |
greedy | Boolean | false | 是否在嵌套的投放对象中阻止事件传播 |
hoverClass | String | false | 设置拖动对象移动到投放对象上的CSS样式 |
scope | String | "default" | 定义拖动对象和投放对象的目标集 |
tolerance | String | "intersect" | 设置可接受的拖放元素完成投放的触发模式, 包括"fit","intersect","pointer" ,"touch"等 |
方法
$(selector).droppable("disable"); // 禁止投放功能
$(selector).droppable("enable"); // 激活投放功能
$(selector).droppable("destroy"); // 完全删除投放功能
$(selector).droppable("option", name[, value]); // 获取/设置属性值
事件
1、 activate事件:类型:dropactivate,当可接受对象开始拖动时触发
2、 deactivate事件:类型:dropdeactivate,当可接受对象停止拖动时触发
3、 over事件:类型:dropover,当可接受对象位于目标对象上方时触发
4、 out事件:类型:dropout,当可接受对象移出目标对象时触发
5、 drop事件:类型:drop,当可接受对象投放到目标对象时触发
事件绑定:
$(selector).droppable(
eventName:function(event, ui){
1、 event:事件对象
2、 ui:包含附加信息的ui对象,具有以下属性:
a) draggable:表示当前可拖动元素
b) helper:表示当前可拖动元素的辅助元素
c) position:一个包含top属性和left属性的对象,
表示辅助元素相对于起始点的位置
d) offset:一个包含top属性和left属性的对象,
表示辅助元素相对于页面的绝对位置
}
);
Resizable缩放组件
需要添加样式表:ui.all.css
jquery.ui.core.js
jquery.ui.widget.js
jquery.ui.mouse.js
jquery.ui.resizable.js
属性
属性 | 数据类型 | 默认值 | 说明 |
alsoResize | Selector jQuery Element | false | 当调整大小时,同步调整一组所选的 元素的大小 |
animate | Boolean | false | 是否为缩放过程添加动画效果 |
animateDuration | Integer String | "slow" | 指定动画持续的时间,可以为 "slow"、"normal"、"fast" 或者具体的毫秒数 |
animateEasing | String | "swing" | 指定动画的效果 |
aspectRatio | Boolean Float | false | 是否调整大小时,保持原长宽比。 也可以指定一个长宽比,如0.5 |
autoHide | Boolean | false | 是否隐藏缩放手柄,直到鼠标位于 该手柄之上时。 |
cancel | Selector | ":input" | 阻止匹配的元素的尺寸发生变化 |
containment | String Element Selector | false | 限制在指定元素的边界范围内, 调整大小尺寸,可选值:"parent" 、"document"、DOM元素或选择符 |
delay | Integer | 0 | 指定缩放的延迟毫秒数 |
distance | Integer | 1 | 指定缩放的延迟像素数 |
ghost | Boolean | false | 是否显示半透名的辅助元素 |
grid | Array | false | 指定缩放时对齐的网格, 接受[x, y]分别为网格宽度和高度 |
handles | String Object | "e,s,se" | 定义缩放手柄,若提供字符串,则以 逗号分隔n、e、s、w、ne、se、 sw、nw以及all,若为对象可以 包含以上属性的任意项 |
helper | String | false | 设置辅助元素的CSS样式 |
maxHeight | Integer | null | 设置允许调整的最大高度 |
maxWidth | Integer | null | 设置允许调整的最大宽度 |
minHeight | Integer | 10 | 设置允许调整的最小高度 |
minWidth | Integer | 10 | 设置允许调整的最小宽度 |
方法
$(selector).resizable("disable"); // 禁用缩放功能
$(selector).resizable("enable"); // 激活缩放功能
$(selector).resizable("destroy") // 完全删除缩放功能
$(selector).resizable("option", name[, value]); // 获取/设置属性
事件
1、 start事件:类型:resizestart,当开始缩放操作时触发
2、 resize事件:类型:resize,当通过缩放手柄操作时触发
3、 stop事件:类型:resizestop,当停止缩放操作时触发
事件绑定:
$(selector).resizable({
eventName:function(event, ui){
1、 event:事件对象
2、 ui:包含附加信息的ui对象,有以下属性:
a) helper:一个包含helper元素的对象
b) originalPosition:一个包含top属性和left属性的对象,
表示缩放前的位置
c) position:一个包含top属性和left属性的对象,
表示当前位置
d) size:一个包含width属性和height属性的对象,表示当前大小
}
});
Selectable选择组件
jquery.ui.core.js
jquery.ui.widget.js
jquery.ui.mouse.js
jquery.ui.selectable.js
然后利用$(selector).selectable([option])函数,将目标元素(如<ol>)
包装成jQuery对象。
通过按<Ctrl>可以点击选择多项
CSS样式
.ui-selecting类:选择某个项目时添加该类
.ui-selected类:选定了某个项目时添加该类
.ui-selectee类:可选择的元素添加该类
属性
属性 | 数据类型 | 默认值 | 说明 |
autoRefresh | Boolean | true | 是否在选择操作之前,刷新(计算)每个可选 的位置和大小,可以设置为false,然后 手动调用refresh方法 |
cancel | Selector | ":input" | 阻止匹配的元素进行选择操作 |
delay | Integer | 0 | 设置选择延迟的毫秒数 |
distance | Integer | 0 | 设置选择延迟的像素数 |
filter | Selector | "*" | 设置能都选择的匹配的子元素 |
tolerance | String | "touch" | 指定触发选择操作的条件,可选值:"touch" 、"fit"分别表示完全和部分覆盖即可 |
方法
可选对象,也包含disable、enable、option、destroy方法。
$(selector).selectable("refresh");
// 手动刷新,重新计算每个元素的大小和位置
事件
start事件:类型:selectablestart,当开始选择操作时触发
selecting事件:类型:selectableselecting,当选定元素时触发
selected事件:类型:selectableselected,当结束选择时触发
unselecting事件:类型:selectableunselecting,从选中项中,移出元素时触发
unselected事件:类型:selectableunselected,从选中项移出元素,并结束操作
stop事件:类型:selectablestop,当结束选择操作时触发
事件绑定:
$(selector).selectable({
eventName:function(event, ui){
1、 event:事件对象
2、 ui:包含附加信息的ui对象
}
});
Button按钮组件
样式表文件jquery-ui.css
jquery.ui.core.js
jquery.ui.widget.js
jquery.ui.button.js
单选框和复选框按钮:
1、 为控件添加ID
2、 为控件添加<label>标签
3、 将一组单选按钮或复选框放置到某个容器中(如<div>或<span>)
4、 将容器用$(selector).buttonset()方法转换成jQuery对象
CSS样式
.ui-button:按钮的样式
.ui-button-text:按钮上文本的样式
属性
属性 | 数据类型 | 默认值 | 说明 |
text | Boolean | true | 是否显示文本,若为false,必须启用图标 |
icons | Option | {primary:null secondary:null} | 指定显示的图标,属性值为字符串类名, 分别为左边的图标和右边的图标 |
label | String | 按钮的value属性 | 按钮上显示的文本 |
方法
$(selector).button([options]); // 普通按钮的构造方法
$(selector).buttonset();// 单选按钮或复选按钮的构造方法
也包含disable、enable、option、destroy方法
Dialog对话框组件
CSS样式表:jquery-ui.css
jquery.bgiframe-2.1.1.js
jquery.ui.core.js
jquery.ui.widget.js
jquery.ui.mouse.js
jquery.ui.draggable.js(可选)
jquery.ui.position.js
jquery.ui.resizable.js(可选)
jquery.ui.dialog.js
CSS样式
ui-dialog:对话框样式
ui-dialog-titlebar:对话框标题栏样式
ui-dialog-title:对话框标题字体样式
ui-dialog-titlebar-close:对话框标题栏关闭样式
切换对话框样式不同的方式:通过设置<link>标签的href的属性来使得样式的改变
属性
属性 | 数据类型 | 默认值 | 说明 |
autoOpen | Boolean | true | 是否调用dialog()方法时自动打开, 若为false,则保持隐藏,直到调用 dialog("open")方法 |
bgiframe | Boolean | false | 若设置为true,则使用bgiframe插件, 以解决IE6中的bug,1.8.1版本 |
buttons | Object | {} | 指定在对话框中显示的按钮,key值为 按钮的文本,value值则为对应的回调函数。 回调函数中的上下文指代,当前对话框 |
closeOnEscape | Boolean | true | 是否在获得焦点并且用户按<ESC>关闭 |
closeText | String | "close" | 指定关闭按钮的文本 |
dialogClass | String | "" | 指定添加到对话框的类名 |
draggable | Boolean | true | 是否可拖动对话框 |
height | Number | "auto" | 指定对话框的高度,"auto"为适应内容 |
hide | String | null | 指定关闭对话框的动画效果 |
maxHeight | Number | false | 指定对话框的最大高度 |
maxWidth | Number | false | 指定对话框的最大宽度 |
minHeight | Number | 150 | 指定对话框的最小高度 |
minWidth | Number | 150 | 指定对话框的最小宽度 |
modal | Boolean | false | 是否为模式窗口 |
position | String Array | "center" | 指定对话款的初始位置,可选值:"center"、 "left"、"right"、"top"、"bottom", 也可以是包含[top, left]的数组 |
resizable | Boolean | true | 是否可调整对话框大小 |
show | String | null | 指定打开对话框的动画效果 |
stack | Boolean | true | 是否将对话框叠放到其他对话框顶部 |
title | String | "" | 指定对话框的标题,也可以通过元素的 title属性来指定 |
width | Number | 300 | 对话框的宽度 |
zIndex | Integer | 1000 | 设置对话框起始的z-Index属性 |
方法
$(selector).dialog()函数也有destroy、disable、enable、option方法。
$(selector).dialog("close"); // 关闭对话框
$(selector).dialog("isOpen"); // 判断对话框是否打开,返回Boolean
$(selector).dialog("moveToTop"); // 将对话框置顶
$(selector).dialog("open"); // 打开对话框
事件
1、 focus事件:类型:dialogfocus,当对话框获得焦点时触发
2、 open事件:类型:dialogopen,当对话框打开时触发
3、 dragStart事件:类型:dialogdragstop,当开始拖动对话框时触发
4、 drag事件:类型:dialogdrag,当拖动对话框时触发
5、 dragStop事件:类型:dialogdragstop,当停止拖动对话框时触发
6、 resizeStart事件:类型:dialogresizestart,当开始调整大小时触发
7、 resize事件:类型:dialogresize,当调整大小时触发
8、 resizeStop事件:类型:dialogresizestop,当结束调整大小时触发
9、 beforeclose事件:类型:dialogbeforeclose,
当试图关闭时触发,如果要阻止关闭,则在函数中返回false
10、 close事件:类型:dialogclose,当关闭对话框时触发
事件绑定:
$(selector).dialog({
eventName:function(e, ui){
1、 e:事件对象
2、 ui:封装对象
3、 this:表示对话框元素
}
});
jQuery UI