layer.open屬性詳解及l(fā)ayer.open彈出框使用post方法舉例
一、常用屬性詳解:
layer.open({ // 基本層類型:0(信息框,默認(rèn))1(頁(yè)面層)2(iframe層,也就是解析content)3(加載層)4(tips層) type: 1, title: "標(biāo)題", // 當(dāng)type: 2時(shí)就是url content: "內(nèi)容/url", // 如果不想要界面滾動(dòng)條可以這樣寫(xiě) //content: ["內(nèi)容/url",'no'] // 寬高:如果是100%就是滿屏 area: ['733px', '450px'], // 坐標(biāo):auto(默認(rèn)坐標(biāo),即垂直水平居中),具體當(dāng)文檔:https://www.layui.com/doc/modules/layer.html#offset offset: 'auto', // 按鈕:按鈕1的回調(diào)是yes(也可以是btn1),而從按鈕2開(kāi)始,則回調(diào)為btn2: function(){},以此類推 btn: ['按鈕1', '按鈕2'], // 關(guān)閉按鈕:layer提供了兩種風(fēng)格的關(guān)閉按鈕,可通過(guò)配置1和2來(lái)展示,如果不顯示,則0 closeBtn: 1, // 遮罩:默認(rèn):0.3透明度的黑色背景('#000') shade: 0.3, // 是否點(diǎn)擊遮罩關(guān)閉:默認(rèn):false shadeClose: false, // 自動(dòng)關(guān)閉所需毫秒:默認(rèn):0不會(huì)自動(dòng)關(guān)閉 time: 0, // 最大最小化:默認(rèn):false maxmin: false, // 固定:默認(rèn):true fixed: true, // 是否允許拉伸:默認(rèn):true resize: true, // 層疊順序:默認(rèn):19891014,一般用于解決和其它組件的層疊沖突 zIndex: 19891014, // 層彈出后的成功回調(diào)方法:layero前層DOM,index當(dāng)前層索引 success: function(layero, index){ }, // 第一個(gè)按鈕事件,也可以叫btn1 yes: function (index, layero) { }, btn2: function (index, layero) { layer.close(index); }, // 右上角關(guān)閉按鈕觸發(fā)的回調(diào):默認(rèn)會(huì)自動(dòng)觸發(fā)關(guān)閉。如果不想關(guān)閉,return false即可 cancel: function(index, layero){ if(layer.confirm('確定要關(guān)閉么')){ //只有當(dāng)點(diǎn)擊confirm框的確定時(shí),該層才會(huì)關(guān)閉 layer.close(index); } return false; }, // 層銷毀后觸發(fā)的回調(diào):無(wú)論是確認(rèn)還是取消,只要層被銷毀了,end都會(huì)執(zhí)行,不攜帶任何參數(shù)。 end: function(){ }, // 最大化后觸發(fā)的回調(diào):攜帶一個(gè)參數(shù),即當(dāng)前層DOM full: function(layero){ }, // 最小化后觸發(fā)的回調(diào):攜帶一個(gè)參數(shù),即當(dāng)前層DOM min: function(layero){ }, // 還原后觸發(fā)的回調(diào):攜帶一個(gè)參數(shù),即當(dāng)前層DOM restore: function(layero){ }, });
例子:
layer.open({ type: 1, title: "標(biāo)題", content: "內(nèi)容/url", area: ['733px', '450px'], offset: 'auto', btn: ['按鈕1', '按鈕2'], closeBtn: 1, shade: 0.3, shadeClose: false, time: 0, maxmin: false, fixed: true, resize: true zIndex: 19891014, success: function(layero, index){ }, yes: function (index, layero) { }, btn2: function (index, layero) { layer.close(index); }, cancel: function(index, layero){ layer.close(index); } return false; }, end: function(){ }, full: function(layero){ }, min: function(layero){ }, restore: function(layero){ }, });
二:layer.open GET方式說(shuō)明
如下段代碼所示,是最常見(jiàn)的layer.open使用方式。這里有幾點(diǎn)需要說(shuō)明:
type 基本層類型,layer提供了5種層類型。可傳入的值有:0(信息框,默認(rèn))、1(頁(yè)面層)、2(iframe層)、3(加載層)、4(tips層)。
layer.open其底層采用的就是get請(qǐng)求方式,因此使用layer.open的彈出層頁(yè)面?zhèn)鲄⒅荒苁瞧唇釉趗rl后面。
對(duì)于type=2的彈出框,可以使用圖示中的方法調(diào)用子頁(yè)面彈出框的doSubmit() 方法,并獲取該方法的返回值。
layer.open({ type: 2, area: ["900px", "520px"], title: "子頁(yè)面-彈出框", content: "${basePath}/aaa/bbb/get?id=1", btn: ['確定', '關(guān)閉'], yes: function (index, layero) { // 調(diào)用子頁(yè)面(彈出框)的doSubmit方法并獲取其返回值 var iframeWin = layero.find('iframe')[0]; var data = iframeWin.contentWindow.doSubmit(); }, cancel: function (layer_window) { // 關(guān)閉彈出框頁(yè)面 layer.close(layer_window); } });
三、layer.open POST方式介紹
由于layer.open其底層就是get請(qǐng)求方式,因此,如果需要使用post請(qǐng)求的話,必須要引入其他方式,這里采用ajax。
思路:用ajax通過(guò)post方式傳參請(qǐng)求到頁(yè)面的html,然后通過(guò)layer.open方法展示出來(lái)。
$.ajax({ type: "POST", url: "${basePath}/aaa/bbb/post", data: {"id":1, "type":2, "code":3}, success: function(res) { var html = res.data; layer.open({ type: 1, area: ["900px", "520px"], title: "子頁(yè)面-彈出層", content: html, btn: ['確定', '關(guān)閉'], yes: function (index, layero) { // 調(diào)用子頁(yè)面(彈出框)的doSubmit方法并獲取其返回值 var context = layero.find('page').context; var data = context.defaultView.doSubmit(); }, cancel: function (layer_window) { // 關(guān)閉彈出框頁(yè)面 layer.close(layer_window); } }); } });
如上段代碼所示,是layer.open post請(qǐng)求頁(yè)面的方放。這里有幾點(diǎn)需要說(shuō)明:
type必須為1,因?yàn)檫@里layer.open的content是直接給出HMTL代碼的。
調(diào)用子頁(yè)面方法的方式發(fā)生了改變,如上實(shí)例。
附:iframe層(type:2) :彈出層直接調(diào)用其他地方的頁(yè)面
layer.open({ type: 2, //Layer提供了5種層類型??蓚魅氲闹涤校?(信息框,默認(rèn))1(頁(yè)面層)2(iframe層)3(加載層)4(tips層), shade:0.1, //遮罩層透明度 area:['850px','500px'], //彈出層寬高 title:'材料庫(kù)',//彈出層標(biāo)題 content: 'xx/xx.jsp' //這里content是一個(gè)URL,如果你不想讓iframe出現(xiàn)滾動(dòng)條,你還可以content: ['http://sentsin.com', 'no'] });
總結(jié)
到此這篇關(guān)于layer.open屬性詳解及l(fā)ayer.open彈出框使用post方法的文章就介紹到這了,更多相關(guān)layer.open屬性彈出框使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
js前端加密庫(kù)Crypto-js進(jìn)行MD5/SHA256/BASE64/AES加解密的方法與示例
js加密解密可以使用crypto-js它可以進(jìn)行MD5、SHA-1、SHA-256、Base64、AES、DES、等算法和加密,這是一個(gè)對(duì)稱加密的庫(kù),可以使用 AES、DES、但沒(méi)有rsa等非對(duì)稱加密的方法2023-12-12使用TypeScript?V8來(lái)改進(jìn)您的JavaScript代碼
TypeScript?V8是一個(gè)強(qiáng)大的JavaScript類型系統(tǒng),它可以幫助你發(fā)現(xiàn)JavaScript代碼中的錯(cuò)誤和潛在問(wèn)題,并在編譯時(shí)捕獲它們,以便您可以解決它們,TypeScript?V8為JavaScript提供一系列的類型注釋,包括自定義類型和其他高級(jí)功能2023-08-08JavaScript學(xué)習(xí)小結(jié)(7)之JS RegExp
在js中,正則表達(dá)式是由一個(gè)RegExp對(duì)象表示的,RegExp 是正則表達(dá)式的縮寫(xiě)。RegExp簡(jiǎn)單的模式可以是一個(gè)單獨(dú)的字符。更復(fù)雜的模式包括了更多的字符,并可用于解析、格式檢查、替換等等。可以使用一個(gè)RegExp()構(gòu)造函數(shù)來(lái)創(chuàng)建RegExp對(duì)象,也可以使用直接量語(yǔ)法2015-11-11走進(jìn)javascript——不起眼的基礎(chǔ),值和分號(hào)
本文主要介紹了javascript的基礎(chǔ)知識(shí)--值和分號(hào),具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02JS隨機(jī)洗牌算法之?dāng)?shù)組隨機(jī)排序
這篇文章主要介紹了JS隨機(jī)洗牌算法之給數(shù)組隨機(jī)排序的相關(guān)資料,需要的朋友可以參考下2016-03-03JS圖片預(yù)加載 JS實(shí)現(xiàn)圖片預(yù)加載應(yīng)用
由于圖片加載慢,導(dǎo)致用戶體驗(yàn)特別差,本文將介紹一種圖片預(yù)加載技術(shù),需要了解的朋友可以參考下2012-12-12JS 將偽數(shù)組轉(zhuǎn)換成數(shù)組的實(shí)現(xiàn)示例
這篇文章主要介紹了JS 將偽數(shù)組轉(zhuǎn)換成數(shù)組,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07