artDialog學習之旅(一)


接口

配置參數

  • content: {消息內容,支持HTML}
  • title: {標題.默認:'提示'}
  • lock: {是否鎖定屏幕. 默認:false}
  • width: {寬度,支持em等單位. 默認:'auto'}
  • height: {高度,支持em等單位. 默認:'auto'}
  • url: {iframe地址,存在content參數時候,此參數無效}
  • x: {x坐標,可以使用關鍵字,如:left/right/center. 默認:'center'}
  • y: {y坐標,可以使用關鍵字,如:top/bottom/center. 默認:'center'(並非絕對垂直居中,而是使用的黃金比例)}
  • fixed: {是否啟用靜止定位. 默認:false}
  • time: {多少秒自動關閉}
  • style: {對話框風格擴展參數,寫入自定義className,詳情見皮膚css文件的定義,多個用空格隔開}
  • yesText: {確定按鈕文本. 默認:'確定'}
  • noText: {取消按鈕文本. 默認:'取消'}
  • yesClose: {點擊確定按鈕是否同時關閉對話框. 默認:true}
  • id: {給對話框定義id,對話框未關閉就不再會有同名對話框彈出. 例如定義id為'my2',則內容容器id為'my2Content'}

形式

artDialog({ 配置參數 }, function(){ 確定按鈕回調函數 }, function(){ 取消按鈕回調函數 }, function(){ 對話框關閉回調函數 }) 如:

artDialog(
        {    
            content:'歡迎你來到對話框世界!',
            lock:true,
            style:'succeed noClose'
        },
        function(){
            alert('你點了確定');
        },
        function(){
            alert('你點了取消');
        }
);

 

彈出頁面事例

$.dialog.open('export/packingInfo/list?id=' + id, {
    esc : false,
    lock : true,
    title : 'Carton List - Edit',
    width : '900px',
    height : '500px',
    close : function() {
        window.location.reload();
    }
});

在頁面head設置默認配置

// 設置對話框全局默認配置  
(function(){  
    var d = art.dialog.defaults;  
      
    // 按需加載要用到的皮膚,數組第一個為默認皮膚  
    // 如果只使用默認皮膚,可以不填寫skin  
    d.skin = ['default', 'chrome', 'facebook', 'aero'];  
      
    // 支持拖動  
    d.drag = true;  
      
    // 超過此面積大小的對話框使用替身拖動  
    d.showTemp = 100000;  
})();  

在js函數里面使用 

function test(){  
art.dialog({  
 lock: true,  
 content: '中斷用戶在對話框以外的交互,展示重要操作與消息',  
 yesFn: function(){  
     art.dialog({content: '再來一個鎖屏', lock: true});  
     return false;  
 },  
 noFn: true  
  
} 

API 文檔

名稱
類型
默認值
描述
內容
        
title
字符串
'提示'
標題內容。為false不顯示標題欄(需要皮膚文件支持)
布爾
        
content
字符串
null
消息內容,如果傳入的是一個JSON,還需要與tmpl參數配合解析模板
對象
        
按鈕
        
yesFn
函數
null
確定按鈕回調函數。
函數如果返回false將阻止對話框關閉;函數this指針指向內部api;如果傳入true表示只顯示有關閉功能的按鈕;傳入的第一個參數為對話框所在頁面window對象(這個在穿越框架后有用)
布爾
        
noFn
函數
null
取消按鈕回調函數。
函數如果返回false將阻止對話框關閉;函數this指針指向內部api;如果傳入true表示只顯示有關閉功能的按鈕;傳入的第一個參數為對話框所在頁面window對象(這個在穿越框架后有用)
布爾
        
yesText
字符串
'確定'
"確定按鈕"文字
noText
字符串
'取消'
"取消按鈕"文字
尺寸
        
width
數值
'auto'
設置內容固定寬度,可以指定單位。沒有則對話框自動適配
字符串
        
height
數值
'auto'
設置內容固定高度,可以指定單位。沒有則對話框自動適配
字符串
        
位置
        
fixed
布爾
false
開啟靜止定位
follow
元素
null
讓對話框依附在指定元素附近。如果是字符串則表示使用ID獲取元素
字符串
        
left
數值
'center'
X軸的坐標。如果開啟了fixed則原點以瀏覽器視口為基准。可以使用'left'、'center'、'right'這些關鍵字
字符串
        
top
數值
'center'
Y軸的坐標。如果開啟了fixed則原點以瀏覽器視口為基准。可以使用'top'、'center'、'bottom'這些關鍵字
字符串
        
界面
        
lock
布爾
false
開啟鎖屏。中斷用戶對話框之外的交互,用於顯示非常重要的操作/消息
skin
字符串
'default'
自定義風格
border
布爾
true
是否顯示邊框。(需要皮膚文件支持)
icon
字符串
null
定義消息圖標。(需要皮膚文件支持)
高級
        
id
字符串
  
自定義對話框ID屬性。用途:1、防止重復彈出 2、返回已存在ID對話框的API接口
time
數值
null
設置對話框顯示時間。以秒為單位
drag
布爾
true
是否允許用戶拖動對話框
limit
布爾
true
是否限制挪動與定位范圍
focus
布爾
true
定位焦點到對話框中指定元素,默認定位到按鈕上。如果傳入字符串則使用ID獲取元素
字符串
        
元素
        
effect
布爾
true
是否開啟動畫特效
show
布爾
true
是否顯示。為false表示不顯示對話框,后面可以通過控制接口show()恢復顯示
tmpl
字符串
null
啟用模板引擎拼接消息內容,還需要與content參數傳入JSON才能生效
esc
布爾
true
是否允許Esc鍵關閉對話框
window
字符串
'self'
指定窗口彈出對話框,可使用'top'、'parent'、'self'等關鍵字或者指定其他window對象。如果是'top'則表示讓對話框在頂級頁面彈出
對象
        
initFn
函數
null
對話框彈出后執行的函數
closeFn
函數
null
對話框關閉前執行的函數

控制接口

名稱
返回值
描述
close()
null
關閉對話框
show()
{Object}
顯示對話框
hide()
{Object}
隱藏對話框
content()
{HTMLElement}
獲取消息內容容器對象
content(value)
{Object}
向消息容器中寫入內容(innerHTML)
follow(element)
{Object}
讓對話框吸附到指定元素附近。(可傳入對象的ID名稱)
position(left, top)
{Object}
重新定位對話框。無參數則居中定位
size(width, height)
{Object}
重新設定對話框大小。注意此時參數類型必須為數值
focus(element)
{Object}
定位焦點

自帶的擴展方法

名稱
描述
art.dialog.alert(content)
警告
art.dialog.confirm(content, yesFn, noFn)
確認
art.dialog.prompt(content, yesFn, value)
提問
art.dialog.open(url, options)
彈窗(iframe)
art.dialog.close()
open方法創建的iframe里可用此關閉對話框
art.dialog.parent
open方法創建的iframe里可用此獲取來源窗口的window對象
art.dialog.tips(content, time)
短暫提示
art.dialog.load(url, options, cache)
Ajax加載內容

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM