layer關閉彈出層刷新父介面功能實作方法
本文主要介紹了layer實現關閉彈出層刷新父界面功能,結合實例形式分析了使用layui的layer在關閉彈出層時刷新父界面的常用實現技巧與相關操作注意事項,需要的朋友可以參考下,希望能幫助大家。
本文實例講述了layer實作關閉彈出層刷新父介面功能。分享給大家供大家參考,具體如下:
layer是一款近年來備受青睞的web彈層組件,她具備全方位的解決方案,致力於服務各水平段的開發人員,您的頁面會輕鬆地擁有豐富友善的操作體驗。
最近一個專案採用的是hui前端框架,他的彈出層就是用的layer插件,對於彈出層,有一個操作體驗大家都知道,就是關閉彈出層,需要刷新父親頁面。開始寫的時候,我陷入了自己的誤解,在彈出層處理成功之後,我調用的是:
var index = parent.layer.getFrameIndex(window.name); parent.location.href=url; parent.layer.close(index);
這個地方是這樣寫也沒錯,但是如果這麼寫,它就只能被一個地方調用了,如果有多個地方調用的話,它不能返回原始地址,而是重定向到新的url地址上去了。而剛好,在我的專案中間,某一個彈出層被兩個地方調用了,所以很明顯這種方案就不合適了,需要優化。百度了一下,找到如下兩種最佳化方案:
方案一:
在layer彈出層中呼叫父介面重新載入函數
window.parent.location.reload(); var index = parent.layer.getFrameIndex(window.name); parent.layer.close(index);
方案二:
#呼叫layer外掛程式的end回呼方法:
end - 層銷毀後觸發的回呼
類型:Function,預設:null
無論是確認或取消,只要層被銷毀了,end都會執行,不攜帶任何參數。
父視窗開啟layer彈出框時,當新增end回呼
function openLayer() { //iframe层 parent.layer.open({ type: 2, title: '修改', shadeClose: false, //点击遮罩关闭 shade: 0.8, area: ['30%', '45%'], maxmin: true, closeBtn: 1, content: [url, 'yes'], //iframe的url,yes是否有滚动条 end: function () { location.reload(); } });
layer彈出框處理完成之後,就不需要呼叫其他刷新操作函數了,直接關閉就行了
var index = parent.layer.getFrameIndex(window.name); parent.layer.close(index);
相比較而言,第一種方案會更佳,因為在操作邏輯上,手動關閉彈出框,應該不觸發刷新操作,只有當彈出框的處理邏輯執行成功後,呼叫函數關閉彈出框才會觸發父介面刷新操作,基於這個邏輯,應該選擇方案一。方案二,不管怎樣都會刷新頁面,實際上無端的增加了伺服器的處理壓力。
方案二:可以解決子頁面處理後的結果傳送給子頁面的父頁面的問題。
對於layer.js出現回呼關閉父類別的彈出層時,之前的表單的submit失效的問題:
如何解決:網路上有很多,有的是轉為ajax的請求,在資料傳輸完再關閉父類別的彈出層:
下面是關閉父彈出層的辦法:
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引 parent.layer.close(index); // 关闭layer
採用ajax這樣可以,但是我做的是支付,要彈出頁面才能支付,不能轉換為ajax,怎麼幫?後面我老闆說:「你就不能晚點執行關閉嗎」?這是一個想法試了一下就好了。
附上程式碼:
$("#myForm").submit(); var index = parent.layer.getFrameIndex(window.name); //获取窗口索引 setTimeout(function () { parent.layer.close(index); // 关闭layer },500);
我還需要在關閉父類別視窗後再開啟一個窗口,則怎麼解決,後面發現layer.js留有一個好的方式,那就是呼叫父視窗的方法,這個不受子視窗的影響,透過:parent.父類別方法名稱(參數)這樣就可以了,在父視窗中再呼叫layer.js的彈出就好了。
相關推薦:
以上是layer關閉彈出層刷新父介面功能實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

當您在iPhone上瀏覽網頁時,載入的內容會暫時存儲,只要瀏覽器應用程式保持開啟。然而,網站會定期更新內容,因此刷新頁面是清除舊資料並查看最新發佈內容的有效方法。這樣,您可以始終獲得最新的資訊和體驗。如果您想在iPhone上刷新頁面,以下貼文將向您解釋所有方法。如何在Safari上刷新網頁[4種方法]有幾種方法可以刷新您在iPhone上的Safari瀏覽器App上查看的頁面。方法1:使用「刷新」按鈕刷新您在Safari瀏覽器上開啟的頁面的最簡單方法是使用瀏覽器標籤列上的「刷新」選項。如果Safa

您的Windows11/10PC上的F5鍵是否無法正常運作? F5鍵通常用於刷新桌面或資源管理器或重新載入網頁。然而,我們的一些讀者報告說,F5鍵正在刷新他們的計算機,並且無法正常工作。如何在Windows11中啟用F5刷新?要刷新您的WindowsPC,只需按下F5鍵即可。在某些筆記型電腦或桌上型電腦上,您可能需要按下Fn+F5組合鍵才能完成刷新操作。為什麼F5刷新不起作用?如果按下F5鍵無法刷新您的電腦或在Windows11/10上遇到問題,可能是因為功能鍵被鎖定。其他潛在原因包括鍵盤或F5鍵

如果說程式設計師有什麼怕的,那我想可能就是- 需求又變了!這不,客戶在筆者開發完一個基於瀏覽器的Web 應用程式之後說:程式需要在內(無)部(網)環境中運作…這就意味著無法安裝Python 環境!誰叫咱是程式設計師呢,不就開發一個GUI 版本嗎,難不倒我…可是聽到給的時間後,就不淡定了… …為了不影響客戶的評測,只能給出一周時間!構思GUI 雖然也不難,不過需要梳理一遍服務以及與用戶的交互接口,弄不好就得為GUI 單獨編寫接口,這點時間顯然不夠呀。不行,就再想辦法…不然直接將 Web

頁面刷新在我們日常的網路使用中非常常見,當我們訪問一個網頁後,有時會遇到一些問題,例如網頁加載不出來或顯示不正常等。這時候我們通常會選擇刷新頁面來解決問題,那麼要如何快速刷新頁面呢?下面我們就來探討頁面刷新的快捷鍵。頁面刷新快捷鍵是一種透過鍵盤操作來快速刷新目前網頁的方法。在不同的作業系統和瀏覽器中,頁面刷新的快捷鍵可能有所不同。下面我們以常見的W

我們在使用電腦進行word文檔操作編輯的時候,常常不知道是觸碰到了什麼位置,介面忽然變得很小,有時候word文檔裡的文字都看不太清楚了。有人可能遇到這樣的問題會驚慌失措了,以為是電腦出了故障,其實,這只是因為你碰到了某種設置,將顯示做了調整。那麼,如果不小心改變了介面顯示的大小,該怎麼恢復和調整呢? word介面變小了怎麼辦呢?下邊,我們就分享幾種方式加以解決,希望你遇到這樣的問題的時候能夠輕鬆應付和處理。首先,我們新建並開啟一個Word文檔,進行簡單的編輯操作,以便於展示操作步驟。在下圖中

對AI來說,「玩手機」可不是一件易事,光是辨識各種使用者介面(user interface, UI)就是一大難題:不光要辨識出各個元件的類型,還要根據其使用的符號、位置來判斷組件的功能。對行動裝置UI的理解,能夠幫助實現各種人機互動任務,例如UI自動化等。先前的工作對行動UI的建模通常依賴螢幕的視圖層次信息,直接利用了UI的結構數據,並藉此繞過了從螢幕像素開始對組件進行識別的難題。不過並不是所有的場景下都有可用的視圖層次,這種方法通常會因為物件描述的缺失或結構資訊的錯位而輸出錯誤結果,所以儘管使

在智慧型手機市場,三星的Galaxy系列一直以其卓越的性能和創新的設計備受矚目。而GalaxyS23Ultra作為上代機皇,自發布以來便受到了廣大消費者的喜愛。隨著時間的推移,新機型層出不窮,那麼,這款昔日的機皇如今還能再戰呢?接下來,我將分享自己在使用三星GalaxyS23Ultra過程中的實際體驗,帶大家一同探討這個問題。首先,從外觀設計來看,GalaxyS23Ultra依然保持著三星一貫的精緻與高端。其獨特的微曲螢幕設計不僅提升了手機的整體美感,也為使用者帶來了更沉浸的視覺體驗。在日常使用

react頁面傳值刷新後值消失的解決方法:1、刷新頁面,查看state裡面的資料是否會清空;2、透過「const name = location.query.name;const id = location.query.id;」方法在跳轉連結中增加參數,即可在實現傳參的同時刷新頁面後資料不會遺失。
