# artDialog

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+运行[?])

## 联系

注意！artDialog4+即将停止维护，在框架满天飞的时代结束后，其历史使命已经完成。新版本artDialog 5+很小，却依然动人。若要迁移，请抛弃iframe，使用ajax技术。

如果你对artDialog有什么意见建议可以用下面任意一种联系方式找到作者。artDialog一直在不断完善自身，这个愉悦的过程中感谢有你的参与～

提交BUG必备项：1、浏览器名称，版本 2、artDialog版本号（只支持4+版本） 3、简明扼要的描述信息 4、建议提取一份BUG DEMO，这样解决问题的概率增加300%

如果对使用问题有疑惑，可以前往由 artDialog 爱好者建立的QQ群寻求帮助（前提是先自己阅读文档）： 44030323

作者：糖饼
邮箱： (仅用作bug提交)
网站：PlaneArt.Cn
微博：t.qq.com/tangbin

## 捐赠

artDialog就是你一直想要的对话框么？哇～那么我非常期待您能够热情的提供15元或者其他金额的捐赠鼓励～正如您支持其他开源项目一样。

支付宝: https://me.alipay.com/planeart

您因如果使用artDialog而受益或者感到愉悦，您还可以这样帮助artDialog成长：

1、共同参与并完善artDialog或用blog/微博/Twitter把它分享它给更多的人。

2、如artDialog有幸被用在你的项目，请您联系我，我后续将在artDialog主页展示您项目/企业的LOGO（目前有盛大phpCMS、腾讯、中国电信等企业使用它）。