這篇文章主要介紹“Bootstrap模態(tài)窗中怎么從遠程加載內容”,在日常操作中,相信很多人在Bootstrap模態(tài)窗中怎么從遠程加載內容問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Bootstrap模態(tài)窗中怎么從遠程加載內容”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
在泗縣等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供網站制作、成都做網站 網站設計制作按需開發(fā),公司網站建設,企業(yè)網站建設,品牌網站制作,全網營銷推廣,成都外貿網站建設公司,泗縣網站建設費用合理。
Bootstrap的Modal這個模態(tài)窗組件還是很好用的,但在開發(fā)的過程中模態(tài)窗中的內容大部分都是從后端加載的。要實現模態(tài)窗的內容是從后端加載話,常用的實現方式有2種。它們是:
(1)Modal里面套一個Iframe,通過Iframe的src去加載遠程的內容。這種方式的缺點是這個模態(tài)框的寬度和高度不好調,而且把寬度和高度設置成固定值,就破壞了bootstrap的響應式布局了。
(2)使用Modal的remote參數去加載遠程的內容。這種方式有些小bug(后面會介紹解決方案),不過這種方式沒有上一種方式需要手動設置的寬度和高度的麻煩。
個人比較喜歡第2種方式,這樣就介紹下使用remote的方式。
本次使用的bootsrap的版本是 3.3.7
(1)主頁面
主頁面這里,先放置好一個模態(tài)框,不過模態(tài)框里面的內容是空白的。后續(xù)遠程加載后的數據就會自動填充到class="modal-content"這個p里面。準備好如下html代碼:
放置好模態(tài)窗口后,我們可以在主頁面上放一個按鈕來觸發(fā)這個模態(tài)窗口的顯示,這個按鈕的html代碼如下:
按鈕和模態(tài)窗好后,我們需要給這個按鈕綁定點擊事件,點擊后顯示模態(tài)窗口并從遠程加載數據。js代碼如下:
$("#addBtn").click(function(){ // 打開模態(tài)框 $("#showModal").modal({ backdrop: 'static', // 點擊空白不關閉 keyboard: false, // 按鍵盤esc也不會關閉 remote: '/sys/toAddUser' // 從遠程加載內容的地址 }); });
主頁面的內容就是這些,注意:開始的那些引入bootstrap相關的代碼我沒貼,使用時需要自己引入好。
(2)待加載到模態(tài)框里面的頁面準備
首先,我先說下,這個頁面里面不需要引入和任何的js和css。因為這個頁面加載到模態(tài)框里面后,就相當于主頁面上的一部分了。有點像主頁面把它給動態(tài)導入的感覺,它可以訪問主頁面的任何內容。這個頁面可以看成是class="modal-content" 這個p內容,加載后就把這些html代碼嵌入到里面去了。因此寫這個頁面時,我們可以去bootstrap官網copy一個模態(tài)框的代碼,把里面的內容那塊抽取出來做我們這個遠程頁面是最適合的了。 我準備的代碼如下:
添加用戶
其實后臺代碼沒什么介紹的,當點擊主頁面的按鈕后,后臺接收到這個請求,把準備好的頁面返回過去就ok。用SpringMvc一下就實現。故不介紹。
通過點擊主頁面的新增按鈕,彈出了模態(tài)框,并把遠程的頁面加載到了遠程模態(tài)框里面。
(1)經過測試,發(fā)現這個模態(tài)窗的內容重后臺加載一次后,再關閉這個模態(tài)窗再打開時不會再從后臺加載。
(2)這個模態(tài)框里面的內容在加載后就留在了主頁面上,主頁面可以直接訪問。這樣容易出現問題,如:主頁中有個dom元素的id和模態(tài)框里面的dom元素的id相同,這就容易出bug,我們希望模態(tài)窗關閉后直接把模態(tài)窗里面的內容都清除掉。
解決上面2個bug的方案見下面這段js代碼,其實是監(jiān)聽了模態(tài)窗的關閉
// 每次隱藏時,清除數據,確保不會和主頁dom元素沖突。確保點擊時,重新加載。 $("#showModal").on("hidden.bs.modal", function() { // 這個#showModal是模態(tài)框的id $(this).removeData("bs.modal"); $(this).find(".modal-content").children().remove(); });
要注意的是遠程加載的這個頁面其實是一小段html代碼,它不需要單獨的引入js和css(如bootstrap的js和css)。這和使用Iframe方式是完全不同的,Iframe里面的內容可以看成是個單獨的頁面,所以使用Iframe時需要自己引入js和css。
到此,關于“Bootstrap模態(tài)窗中怎么從遠程加載內容”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
網站標題:Bootstrap模態(tài)窗中怎么從遠程加載內容
本文URL:http://weahome.cn/article/ghjehp.html