推荐一款不错的dialog小工具,
地址:http://www.planeart.cn/demo/artDialog/_doc/labs.html
相关介绍如下:
artDialog是一个基于javascript编写的对话框组件,它拥有精致的界面与友好的接口
- 自适应内容
- artDialog的特殊UI框架能够适应内容变化,甚至连外部程序动态插入的内容它仍然能自适应,因此你不必去考虑消息内容尺寸使用它。它的消息容器甚至能够根据宽度让文本居中或居左对齐——这一切全是XHTML+CSS原生实现。
- 完善的接口
- 它的接口完善,可以轻易与外部程序配合使用。如异步写入消息、控制位置、尺寸、显示与隐藏、关闭等。
- 细致的体验
- 如果不是在输入状态,它支持Esc快捷键关闭;可指定在元素附近弹出,让操作更便捷;智能给按钮添加焦点;黄金比例垂直居中;超大响应区域特别为ipad等触屏设备优化;预先缓存皮肤图片更快响应……
- 跨平台兼容
- 兼容:IE6+、Firefox、Chrome、Safari、Opera以及iPad等移动设备。并且IE6下也能支持现代浏览器的静止定位(fixed)、覆盖下拉控件、alpha通道png背景。
快速入门
一、使用传统的参数
art.dialog(content, ok, cancel)
art.dialog('简单愉悦的接口,强大的表现力,优雅的内部实现', function(){alert('yes');});
二、使用字面量传参
art.dialog(options)
var dialog = art.dialog({
title: '欢迎',
content: '欢迎使用artDialog对话框组件!',
icon: 'succeed',
follow: document.getElementById('btn2'),
ok: function(){
this.title('警告').content('请注意artDialog两秒后将关闭!').lock().time(2);
return false;
}
});
更多配置参数用法请查阅API文档: ./_doc/API.html#options
三、扩展方法
需要对弹出后的对话框操作?artDialog简单实用的扩展方法可以使这一切变得简单。
如在ajax异步操作中,我们可以先定义一个变量引用对话框返回的扩展方法:
var myDialog = art.dialog();// 初始化一个带有loading图标的空对话框
jQuery.ajax({
url: 'http://web5.qq.com/content?id=1',
success: function (data) {
myDialog.content(data);// 填充对话框内容
}
});
如果需要使用程序控制关闭,可以使用"close"方法关闭对话框:
myDialog.close();
更多扩展方法用法请查阅API文档: ./_doc/API.html#API
插件:框架应用工具
artDialog针对CMS类的框架应用提供了专属插件,如穿越框架、iframe、AJAX、跨框架传值操作等。
例: 使用open方法嵌入页面,并使用data方法在各个iframe间传递数据:
var val = document.getElementById('demoInput04-3').value;
art.dialog.data('test', val);
art.dialog.data('homeDemoPath', './_doc/');
// 此时 iframeA.html 页面可以使用 art.dialog.data('test') 获取到数据,如:
// document.getElementById('aInput').value = art.dialog.data('test');
art.dialog.open('./_doc/iframeA.html');
插件更多功能请查阅API文档: ./iframeTop.html
jQuery + artDialog
artDialog提供了一个jQuery版本,功能与标准版一致,调用只需要把art前缀改成jQuery的命名空间。
// 普通调用
$.dialog({content:'hello world!'});
// 使用选择器方式,此时自动使用绑定了live click事件,同时启用follow模式
$('#main .test').dialog({content: 'hello world'});
(最低兼容jquery1.3.2,但框架应用插件需要jquery1.4+运行[?])