推薦一款不錯的dialog小工具:artDialog

y_keven發表於2014-04-23
推薦一款不錯的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+執行[?])

相關文章