`
chaoyi
  • 浏览: 311016 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

第16章 知问前端--对话框UI

 
阅读更多

学习要点:
1.开启多个 dialog
2.修改 dialog 样式
3.dialog()方法的属性
4.dialog()方法的事件
5.dialog 中使用 on()

对话框(dialog),是 jQuery UI 非常重要的一个功能。它彻底的代替了 JavaScript 的alert()、prompt()等方法,也避免了新窗口或页面的繁杂冗余。

一.开启多个 dialog
我们可以同时打开多个 dialog,只要设置不同的 id 即可实现。

$('#reg').dialog();
$('#login').dialog();

 
二.修改 dialog 样式
在弹出的 dialog 对话框中,在火狐浏览器中打开 Firebug 或者右击->查看元素。这样,我们可以看看 dialog 的样式,根据样式进行修改。我们为了和网站主题符合,对 dialog 的标题背景进行修改。

//无须修改 ui 里的 CSS,直接用 style.css 替代掉
.ui-widget-header {
background:url(../img/ui_header_bg.png);
}


注意:其他修改方案类似。

三.dialog()方法的属性
对话框方法有两种形式:1.dialog(options),options 是以对象键值对的形式传参,每个键值对表示一个选项;2.dialog('action', param),action 是操作对话框方法的字符串,param则是 options 的某个选项。


 

$('#reg').dialog({
title : '注册知问',
buttons : {
'按钮' : function () {}
}
});

 

 

$('#reg').dialog({
position : 'left top'
});

 

 

$('#reg').dialog({
height : 500,
width : 500,
minWidth : 300,
minHeight : 300,
maxWidth : 800,
maxHeight : 600
});

 

 

$('#reg').dialog({
show : true,
hide : true
});

 
注意:设置 true 后,默认为淡入淡出,如果想使用别的特效,可以使用以下表格中的字符串参数。



 

$('#reg').dialog({
show : 'blind',
hide : 'blind'
});

 

 

$('#reg').dialog({
autoOpen : false,
draggable : false,
resizable : false,
modal : true,
closeText : '关闭'
});

 
四.dialog()方法的事件
除了属性设置外,dialog()方法也提供了大量的事件。这些事件可以给各种不同状态时提供回调函数。 这些回调函数中的 this 值等于对话框内容的div 对象, 不是整个对话框的 div。



 

//当对话框获得焦点后
$('#reg').dialog({
focus : function (e, ui) {
alert('获得焦点');
}
});

 

//当创建对话框时
$('#reg').dialog({
create : function (e, ui) {
alert('创建对话框');
}
});

 

//当将要关闭时
$('#reg').dialog({
beforeClose : function (e, ui) {
alert('关闭前做的事!');
return flag;
}
});

 

//关闭对话框时
$('#reg').dialog({
close : function (e, ui) {
alert('关闭!');
}
});

 

//对话框移动时
$('#reg').dialog({
drag : function (e, ui) {
alert('top:' + ui.position.top + '\n'
+ 'left:' + ui.position.left);
}
});

 

//对话框开始移动时
$('#reg').dialog({
dragStart : function (e, ui) {
alert('top:' + ui.position.top + '\n'
+ 'left:' + ui.position.left);
}
});

 

//对话框结束移动时
$('#reg').dialog({
dragStop : function (e, ui) {
alert('top:' + ui.position.top + '\n'
+ 'left:' + ui.position.left);
}
});

 

//调整对话框大小时
$('#reg').dialog({
resize : function (e, ui) {
alert('size:' + ui.size.width + '\n'
+ 'originalSize:' + ui.originalSize.width);
}
});

 

//开始调整对话框大小时
$('#reg').dialog({
resizeStart : function (e, ui) {
alert('size:' + ui.size.width + '\n'
+ 'originalSize:' + ui.originalSize.width);
}
});

 

//结束调整对话框大小时
$('#reg').dialog({
resizeStop : function (e, ui) {
alert('size:' + ui.size.width + '\n'
+ 'originalSize:' + ui.originalSize.width);
}
});

 

 

//初始隐藏对话框
$('#reg').dialog({
autoOpen : false
});

 

//打开对话框
$('#reg_a').click(function () {
$('#reg').dialog('open');
});

 

//关闭对话框
$('#reg').click(function () {
$('#reg').dialog('close');
});

 

//判断对话框打开或关闭状态
$(document).click(function () {
alert($('#reg').dialog('isOpen'));
});

 

//将指定对话框置前
$(document).click(function () {
$('#reg').dialog('moveToTop');
});

 

//获取某个 options 的 param 选项的值
var title = $('#reg').dialog('option', 'title');
alert(title);

 

//设置某个 options 的 param 选项的值
$('#reg').dialog('option', 'title', '注册知问');

 
五.dialog 中使用 on()
在 dialog 的事件中,提供了使用 on()方法处理的事件方法。


 

$('#reg').on('dialogclose', function () {
alert('关闭');
});

 



  • 大小: 14.8 KB
  • 大小: 17.9 KB
  • 大小: 28.9 KB
  • 大小: 13 KB
  • 大小: 38.5 KB
  • 大小: 31.3 KB
  • 大小: 83 KB
  • 大小: 64.8 KB
  • 大小: 30.3 KB
  • 大小: 33.1 KB
分享到:
评论

相关推荐

    Wrox.Beginning.JavaScript.and.CSS.Development.with.jQuery.May.2009

    **第16章:选项卡** - **Tabs组件**:介绍了如何使用tabs组件来创建选项卡式的内容导航。 - **选项卡功能实现**:提供了实现选项卡功能的具体步骤和代码示例。 #### 结语 本书不仅覆盖了JavaScript、CSS和jQuery的...

    轻松搞定Extjs_原创

    #### 第十六章:更多表单组件 - **表单组件关系图**:提供一个视觉化的图表来说明各种表单组件之间的关系。 - **组件配置选项介绍**:详细介绍每个表单组件的配置选项。 - **完整源代码**:提供示例应用程序的完整源...

    beginning_javascript_and_css_development_with_jquery

    - **第16章:标签页** 标签页可以帮助组织复杂的内容,使用户能够更方便地浏览。本章介绍了如何使用jQuery UI来实现标签页功能。 #### 四、附录知识点 - **附录A:练习答案** 提供了书中各章节练习题的答案。 ...

    EfsFrame Web表现层API文档

    #### 第十四章 Efs.Common常用方法 - **Efs.Common**:该命名空间包含了Efs框架的一系列常用工具方法,用于处理XML数据、HTTP请求等常见任务。这些方法大大简化了开发过程中的某些复杂操作,提高了开发效率。 以上...

    easyui中文说明文档

    以上组件及功能为 jQuery EasyUI 的一部分,它们共同构建了一个全面且功能丰富的前端 UI 框架,适用于快速开发复杂的 Web 应用程序。通过合理使用这些组件,开发者可以极大地提高工作效率,同时提升用户体验。

    jQuery权威指南-源代码

    第8章 jQuery UI插件/242 8.1 认识jQuery UI /243 8.2 jQuery UI交互性插件/244 8.2.1 拖曳插件/244 8.2.2 放置/247 8.2.3 排序插件/250 8.3 jQuery UI微型插件/252 8.3.1 折叠面板插件/252 8.3.2 日历/255...

    dwz-user-guide.pdf

    该框架最大的特点是提供了丰富的UI组件和便捷的Ajax交互方式,极大地简化了前端开发过程。 - **应用场景**:适用于企业级应用开发,尤其是需要频繁进行Ajax调用和复杂UI布局的应用场景。 #### 二、设计思路 - **...

    java精品源码前后端分离项目第16期物流管理系统.zip

    - **Element UI**: Vue.js的组件库Element UI可能被用于快速构建界面,提供诸如表格、按钮、对话框等常见UI元素。 - **axios**: 用于发送HTTP请求的库,Vue.js项目中常用来与后端进行数据交互。 4. **API设计与...

    Jquery学习教程

    ### 第十二天:jQuery UI - **jQuery UI组件**:介绍jQuery UI库提供的各种交互组件,如对话框、拖放、日期选择器等。 - **自定义jQuery UI**:学习如何根据需求定制jQuery UI的主题和功能。 ### 第十三天:jQuery...

    extjs的快速入门教程

    - **特点**: 提供了一套丰富的UI组件库,如表格、树形菜单、表单等,并支持多种布局管理方式,便于快速构建复杂的前端界面。 #### 二、开始ExtJS 1. **获得ExtJS**: - 通过官方网站或第三方资源下载最新版本的...

    Element 前端开发插件资源包Components.7z

    在实际开发中,"Components" 标签可能暗示着这个资源包不仅包含 Element UI 的基础组件,还可能包含了一些额外的插件或扩展,比如自定义的 Vue directives、第三方库集成或者优化过的组件版本。开发者可以利用这些...

    JavaScript权威指南(第6版) 中文版

    第16章 脚本化css 410 16.1 css概览 411 16.2 重要的css属性 416 16.3 脚本化内联样式 427 16.4 查询计算出的样式 431 16.5 脚本化css类 433 16.6 脚本化样式表 436 第17章 事件处理 440 17.1 事件类型 442 17.2 ...

    jQuery教程(Cnblogs)

    本文作为《jQuery教程》的第一章,旨在为读者提供一个清晰且全面的起点,帮助大家快速掌握jQuery的基础知识并学会如何搭建开发环境。无论是对于初学者还是有一定经验的开发者来说,都能从中获得有价值的信息。 **...

    inspinia_admin-v2.7-2017-01-16 良心文件

    Inspinia Admin是一款广泛应用于后台管理系统的前端框架,其v2.7版本于2017年1月16日发布,被誉为“良心文件”。这个标签意味着该版本在功能、性能和易用性上都得到了用户的高度认可。本文将深入探讨Inspinia Admin ...

    extjs入门文档

    ### ExtJS 入门文档知识点...ExtJS 作为一款功能强大且灵活的前端框架,为开发者提供了丰富的 UI 组件和便捷的数据管理工具。通过深入学习其核心概念和技术细节,可以快速提高工作效率,构建高质量的 Web 应用程序。

    ExtJs中文教程

    - 它提供了丰富的UI组件库、强大的数据处理能力和灵活的布局管理机制。 #### 二、准备工作与资源 1. **下载ExtJs** - 可以通过官方网站或其他第三方平台下载最新版本的ExtJs。 2. **解决初学者常见问题** - 处理...

    ThinkPHP5文件管理平台

    Layui是一个轻量级的前端UI框架,它提供了大量的模块化组件,如表格、按钮、提示、加载动画等,能够快速搭建美观的页面。在文件管理平台中,Layui的作用主要体现在以下几个方面: 1. 表单元素:Layui的表单组件支持...

    轻松搞定ext

    #### 第十三章至第十八章:面板、窗口、表单组件 从Panel到Window,再到FormPanel,ExtJS提供了丰富的容器组件,用于组织和展示应用界面。通过学习这些组件,开发者可以构建出结构清晰、布局合理的用户界面。此外,...

Global site tag (gtag.js) - Google Analytics