05-dialog (options)方法
4.3.1 dialog (options) 方法
dialog (options) 方法声明使用对话框机制来管理HTML元素(及其内容)。 options 参数是一个对象,用来指定对话框窗口的外观及行为。该参数选项可以管理对话框窗口的外观、位置、大小以及视觉特效行为。
表4-1描述了管理对话框外观的选项。
| 选项 | 功能 |
| :----- | :----- | :----- | :----- |
| options.title | 给对话框窗口指定标题 |
| options.buttons | 在对话框中添加按钮。这是一些对象,每个对象的属性是按钮上的文字,值是用户单击按钮时调用的回调函数 |
表4-2描述了管理对话框位置的选项。
| 选项 | 功能 |
| :----- | :----- | :----- | :----- |
| options.position | 对话框窗口的位置是由坐标 [left, top] 指定的,或者是像下面这样的字符串: | + "left top" 、 "top right" 、 "bottom left" 或者 "right bottom" (页面的4个角) | + "top" 或者 "bottom" (顶部或者底部, 按宽度居中) | + "left" 或者 "right" (左边或者右边,按高度居中) | + "center" (按宽度和高度居中)对话框窗口默认按宽度和高度居中( "center" ) |
表4-3描述了管理对话框大小的选项。
| 选项 | 功能 |
| :----- | :----- | :----- | :----- |
| options.height | 对话框的初始高度(以像素为单位)。默认值是 "auto" (自动调整大小以便显示所有的内容) |
| options.width | 对话框的初始宽度(以像素为单位)。默认是300 |
| options.maxHeight | 对话框可以调整到的最大高度(以像素为单位) |
| options.maxWidth | 对话框可以调整到的最大宽度(以像素为单位) |
| options.minHeight | 对话框可以调整到的最小高度(以像素为单位)。默认值是150 |
| options.minWidth | 对话框可以调整到的最小宽度(以像素为单位)。默认值是150 |
1.管理对话框的视觉特效
可以使用jQuery UI,通过 options.show 和 options.hide 选项来指定对话框显示和消失时的特效(在表4-4中描述)。
| 选项 | 功能 |
| :----- | :----- | :----- | :----- |
| options.show | 对话框显示时伴随的视觉特效(表4-5列出了这些特效)。当设置为 false (默认)时,对话框显示时没有特效 |
| options.hide | 对话框消失时伴随的视觉特效(下表列出)。当设置为 false (默认),对话框消失时没有特效 |
| 特效名称 | 功能 |
| :----- | :----- | :----- | :----- |
| "blind" | 元素从顶部显示或消失 |
| "bounce" | 元素断断续续地显示或消失,垂直运动 |
| "clip" | 元素从中心垂直地显示或消失 |
| "drop" | 元素从左边显示或消失,有透明度变化 |
| "fold" | 元素从左上角显示或消失 |
| "highlight" | 元素显示或消失,伴随透明度和背景色的变化 |
| "puff" | 元素从中心开始缩放。显示时“收缩”,消失时“生长” |
| "pulsate" | 元素以闪烁形式显示或消失 |
| "scale" | 元素从中心开始缩放。消失时“收缩”,显示时“生长” |
| "slide" | 元素从它的右侧显示或消失 |
2.管理对话框的行为
表4-6描述了管理对话框在打开、移动、叠加及调整大小时的行为的选项。
| 选项 | 功能 |
| :----- | :----- | :----- | :----- |
| options.autoOpen | 如果为 true (默认),调用 dialog (options) 方法时就会打开对话框 | 如果为 false ,对话框已经创建,但仅通过调用 dialog ("open") 才会变成可见 |
| options.draggable | 如果为 true (默认),在页面上可以移动对话框 |
| options.resizable | 如果为 true (默认),在页面上可以调整对话框的大小 |
| options.modal | 如果为 true ,对话框是模态的(无法访问页面上其他在对话框之外的元素) | 默认值为 false (对话框不是模态的) |
| options.stack | 如果为 true (默认),对话框能被叠加(单击窗口或对话框将它带到“前景”上来) | 如果为 false ,对话框按打开顺序叠加在一起,但用户不能改变堆叠的顺序 |
3.管理对话框的事件
对话框的事件方法(表4-7中描述)允许在对话框的不同阶段完成一些处理工作。它们相当于是在这些不同阶段时调用的回调函数。回调函数中的 this 值是与对话框内容相关联的 <div> 元素。
| 选项 | 功能 |
| :----- | :----- | :----- | :----- |
| options.focus | 当对话框被激活时(首次显示及每次在它上面单击)会调用 focus (event) 方法 |
| options.open | 当对话框被显示时(首次显示或之后调用 dialog ("open") 方法)会调用 open (event) 方法 |
| options.beforeclose | 当对话框将要关闭时(当单击关闭按钮或调用 dialog ("close") 方法),会调用 beforeclose (event) 方法。如果该函数返回 false ,对话框将不会关闭。关闭的对话框可以用 dialog ("open") 重新打开 |
| options.close | 当对话框关闭时(当单击关闭按钮或调用 dialog ("close") 方法),会调用 close (event) 方法。关闭的对话框可以用 dialog ("open") 重新打开 |
| options.drag | 在移动页面上的对话框时,每次移动鼠标都会调用 drag (event) 方法 |
| options.dragStart | 在开始移动页面上的对话框时,会调用 dragStart (event) 方法 |
| options.dragStop | 在结束移动页面上的对话框时(松开鼠标按钮)会调用 dragStop (event) 方法 |
| options.resize | 在调整页面上的对话框的大小时,每次移动鼠标都会调用 resize (event) 方法 |
| options.resizeStart | 在开始调整页面上的对话框大小时会调用 resizeStart (event) 方法 |
| options.resizeStop | 在结束调整页面上的对话框大小时(松开鼠标按钮)会调用 resizeStop (event) 方法 |