国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

jQuery UI庫中dialog對話框功能使用全解析

2019-11-20 10:13:43
字體:
來源:轉載
供稿:網友

   對話框(dialog),是jQuery UI 非常重要的一個功能。它徹底的代替了JavaScript
的alert()、prompt()等方法,也避免了新窗口或頁面的繁雜冗余。

一.開啟多個dialog
   只要設置不同的id 即可實現。

$('#x').dialog(); $('#y').dialog(); 

二.修改dialog 樣式
   在彈出的dialog 對話框中,在火狐瀏覽器中打開Firebug 或者右擊->查看
元素。可以看看dialog 的樣式,對dialog 的標題背景進行修改。

//無須修改ui 里的CSS,直接用style.css 替代掉 .ui-widget-header {    background:url(../img/xxx.png);  } 

三.dialog()方法的屬性
   對話框方法有兩種形式:1.dialog(options),options 是以對象鍵值對的形式
傳參,每個鍵值對表示一個選項;2.dialog('action', param),action 是操作對
話框方法的字符串,param則是options 的某個選項。

dialog 外觀選項
屬性
默認值/類型
說明
title
無/字符串
對話框的標題,可以直接設置在DOM 元素上
buttons
無/對象
以對象鍵值對方式,給dialog 添加按鈕。鍵是按鈕
的名稱,值是用戶點擊后調用的回調函數

$('#reg').dialog({   title : '注冊',   buttons : {     '按鈕' : function () {}   }  ); 

dialog 頁面位置選項
屬性
默認值/類型
說明
position
center/字符串
設置一個對話框窗口的坐標位置,默認為center。
其他設置值為:left top、top right、bottom left、
right bottom(四個角)、top、bottom(頂部或底
部,寬度居中)、left 或right(左邊或右邊,高度
居中)、center(默認值)

$('#reg').dialog({    position : 'left top'  }); 

dialog 大小選項
屬性
默認值/類型
說明
width
300/數值
對話框的寬度。默認為300,單位是像素。
height 
auto/數值
對話框的高度。默認為auto,單位是像素。
minWidth 
150/數值
對話框的最小寬度。默認150,單位是像素。
minHeight 
150/數值
對話框的最小高度。默認150,單位是像素。
maxWidth 
auto/數值
對話框的最大寬度。默認auto,單位是像素。
maxHeight 
auto/數值
對話框的最大高度。默認auto,單位是像素。

$('#reg').dialog({    height : 500,    width : 500,    minWidth : 300,    minHeight : 300,    maxWidth : 800,    maxHeight : 600  }); 

dialog 視覺選項
屬性
默認值/類型
說明
show 
false/布爾值
顯示對話框時,默認采用淡入效果。
hide 
false 布爾值
關閉對話框時,默認采用淡出效果。

$('#reg').dialog({    show : true,    hide : true  }); 

注意:設置true 后,默認為淡入淡出,如果想使用別的特效,可以使用以下表格中的字符串參數。

show 和hide 可選特效
特效名稱
說明
blind 
對話框從頂部顯示或消失
bounce 
對話框斷斷續續地顯示或消失,垂直運動
clip 
對話框從中心垂直地顯示或消失
slide 
對話框從左邊顯示或消失
drop 
對話框從左邊顯示或消失,有透明度變化
fold 
對話框從左上角顯示或消失
highlight 
對話框顯示或消失,伴隨著透明度和背景色的變化
puff 
對話框從中心開始縮放。顯示時“收縮”,消失時“生長”
scale 
對話框從中心開始縮放。顯示時“生長”,消失時“收縮”
pulsate 
對話框以閃爍形式顯示或消失

$('#reg').dialog({    show : 'blind',    hide : 'blind'  }); 

dialog 行為選項
屬性
默認值/類型
說明
autoOpen 
true/布爾值
默認為true,調用dialog()方法時就會打開對話框;
如果為false,對話框不可見,但對話框已創建,可
以通過dialog('open')才能可見。
draggable 
true/布爾值
默認為true,可以移動對話框,false 無法移動。
resizable 
true/布爾值
默認為true,可以調整對話框大小,false 無法調整
modal 
false/布爾值
默認為false,對話框外可操作,true 對話框會遮罩
一層灰紗,無法操作。
closeText
無/字符串
設置關閉按鈕的title 文字

$('#reg').dialog({    autoOpen : false,    draggable : false,    resizable : false,    modal : true,    closeText : '關閉'  }); 

四.dialog()方法的事件
   除了屬性設置外,dialog()方法也提供了大量的事件。這些事件可以給各種不同狀態
時提供回調函數。這些回調函數中的this 值等于對話框內容的div 對象,不是整個對話框
的div。

dialog 事件選項
事件名
說明
focus
當對話框被激活時(首次顯示以及每次在上面點擊)會
調用focus 方法,該方法有兩個參數(event, ui)。此事件中
的ui 參數為空。
create
當對話框被創建時會調用create 方法,該方法有兩個參
數(event, ui)。此事件中的ui 參數為空。
open
當對話框被顯示時(首次顯示或調用dialog('open')方法)
會調用open 方法,該方法有兩個參數(event, ui)。此事件
中的ui 參數為空。
beforeClose
當對話框將要關閉時( 當單擊關閉按鈕或調用
dialog('close')方法),會調用beforeclose 方法。如果該函
數返回false,對話框將不會被關閉。關閉的對話框可以
用dialog('open')重新打開。該方法有兩個參數(event, ui)。
此事件中的ui 參數為空。
close
當對話框將要關閉時( 當單擊關閉按鈕或調用
dialog('close')方法),會調用close 方法。關閉的對話框可
以用dialog('open')重新打開。該方法有兩個參數(event,
ui)。此事件中的ui 參數為空。
drag
當對話框移動時,每次移動一點均會調用drag 方法。該
方法有兩個參數。該方法有兩個參數(event, ui)。此事件
中的ui 有兩個屬性對象:
1.position,得到當前移動的坐標,有兩個子屬性:top 和
left。
2.offset,得到當前移動的坐標,有兩個子屬性:top 和left。
dragStart
當開始移動對話框時,會調用dragStart 方法。該方法有
兩個參數(event, ui)。此事件中的ui 有兩個屬性對象:
1.position,得到當前移動的坐標,有兩個子屬性:top 和
left。
2.offset,得到當前移動的坐標,有兩個子屬性:top 和left。
dragStop
當開始移動對話框時,會調用dragStop 方法。該方法有
兩個參數(event, ui)。此事件中的ui 有兩個屬性對象:
1.position,得到當前移動的坐標,有兩個子屬性:top 和
left。
2.offset,得到當前移動的坐標,有兩個子屬性:top 和left。
resize
當對話框拉升大小的時候,每一次拖拉都會調用resize
方法。該方法有兩個參數(event, ui)。此事件中的ui 有四
個屬性對象:
1.size,得到對話框的大小,有兩個子屬性:width 和
height。
2.position,得到對話框的坐標,有兩個子屬性:top 和left。
3.originalSize,得到對話框原始的大小,有兩個子屬性:
width 和height。
4.originalPosition,得到對話框原始的坐標,有兩個子屬
性:top 和left。
resizeStart
當開始拖拉對話框時,會調用resizeStart 方法。該方法有
兩個參數(event, ui)。此事件中的ui 有四個屬性對象:
1.size,得到對話框的大小,有兩個子屬性:width 和
height。
2.position,得到對話框的坐標,有兩個子屬性:top 和left。
3.originalSize,得到對話框原始的大小,有兩個子屬性:
width 和height。
4.originalPosition,得到對話框原始的坐標,有兩個子屬
性:top 和left。
resizeStop
當結束拖拉對話框時,會調用resizeStart 方法。該方法有
兩個參數(event, ui)。此事件中的ui 有四個屬性對象:
1.size,得到對話框的大小,有兩個子屬性:width 和
height。
2.position,得到對話框的坐標,有兩個子屬性:top 和left。
3.originalSize,得到對話框原始的大小,有兩個子屬性:
width 和height。
4.originalPosition,得到對話框原始的坐標,有兩個子屬
性:top 和left。

//當對話框獲得焦點后 $('#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);    }  }); 

dialog('action', param)方法
方法
返回值
說明
dialog('open')
 jQuery 對象
打開對話框
dialog('close')
jQuery 對象
關閉對話框
dialog('destroy')
 jQuery 對象
刪除對話框,直接阻斷了dialog
dialog('isOpen') 
布爾值
判斷對話框是否打開狀態
dialog('widget') 
jQuery 對象
獲取對話框的jQuery 對象
dialog('option', param) 
一般值
獲取options 屬性的值
dialog('option', param, value)
jQuery 對象
設置options 屬性的值

//初始隱藏對話框 $('#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()方法處理的事件方法。

on()方法觸發的對話框事件
特效名稱
說明
dialogfocus 
得到焦點時觸發
dialogopen 
顯示時觸發
dialogbeforeclose 
將要關閉時觸發
dialogclose 
關閉時觸發
dialogdrag 
每一次移動時觸發
dialogdragstart
開始移動時觸發
dialogdragstop 
移動結束后觸發
dialogresize 
每次調整大小時觸發
dialogresizestart 
開始調整大小時觸發
dialogresizestop 
結束調整大小時觸發

$('#reg').on('dialogclose', function () {    alert('關閉');  }); 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 喀喇沁旗| 扎兰屯市| 泾川县| 财经| 铜陵市| 章丘市| 曲阳县| 团风县| 上高县| 南涧| 元江| 盐山县| 南部县| 萨迦县| 沭阳县| 黄山市| 车险| 尖扎县| 西宁市| 泗洪县| 治县。| 郯城县| 曲阳县| 额济纳旗| 侯马市| 武强县| 崇州市| 桓台县| 安仁县| 罗城| 垣曲县| 江津市| 额敏县| 兴仁县| 新平| 富蕴县| 鄂托克旗| 越西县| 大连市| 治县。| 东兴市|