`
chaoyi
  • 浏览: 290459 次
  • 性别: 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
分享到:
评论

相关推荐

    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...

    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 ...

    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 ...

    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 ...

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    第16周 上节作业问题答疑 今日内容计划 CSS内容补充以及后台管理页面布局 后台管理页面布局 JavaScript内容回顾 JavaScript函数 JavaScript序列化及转义 开小差之自动登录抽屉并点赞 eval以及时间操作 JavaScript...

    Google Android SDK开发范例大全(第3版) 1/5

    第1章 了解、深入、动手做 1.1 红透半边天的Android 1.2 本书目的及范例涵盖范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 2.1 安装Android SDK与ADT/DDMS 2.2 创建第一个Android项目...

    Google Android SDK开发范例大全(第3版) 4/5

    第1章 了解、深入、动手做 1.1 红透半边天的Android 1.2 本书目的及范例涵盖范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 2.1 安装Android SDK与ADT/DDMS 2.2 创建第一个Android项目...

    Google Android SDK开发范例大全(第3版) 3/5

    第1章 了解、深入、动手做 1.1 红透半边天的Android 1.2 本书目的及范例涵盖范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 2.1 安装Android SDK与ADT/DDMS 2.2 创建第一个Android项目...

    Google Android SDK开发范例大全(第3版) 5/5

    第1章 了解、深入、动手做 1.1 红透半边天的Android 1.2 本书目的及范例涵盖范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 2.1 安装Android SDK与ADT/DDMS 2.2 创建第一个Android项目...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    第六章 认我测在线检测服务系统实现与测试 33 6.1认我测在线检测服务框架设计 33 6.2 系统运行环境搭建及配置 34 6.2.1 AndroidManifest.xml主程序环境配置 34 6.2.2 移动端工程资源布局 35 6.3 认我测在线认证检测...

Global site tag (gtag.js) - Google Analytics