使用layer的彈窗時,出現layer引入成功,觸發成功,控制檯無報錯,可是頁面無變化或者僅出現遮罩層的問題的解決思路

------------------------------------------20180410補充---------------------------------------------------------------------------------------------前端

今天發現,原來不須要調整的layer彈窗也沒法彈出了,函數

對比了代碼版本,發現是由於今天調試代碼的時候用了dump打印數據spa

緊接着我又試了下  echo ,print_r ,var_dump等輸出打印形式調試

發現,TP的dump方法直接會致使彈窗不可見blog

而PHP原生的echo,print_r,var_dump,會致使彈窗位置不爲屏幕中央方法

刪掉輸出函數以後,果真彈窗又正常了。im

-----------------------------------------------------------------------------------------------------------------------------------------------------------總結

 

 

 

最近和前端進行交互的時候,出現了兩次如題所述的問題數據

第一次出現時百思不得解,暫時就先放下了樣式

第二次又出現這個問題的時候,那真是百爪撓心了!

幸而靈機一動,使用f12查看頁面元素的變化,結果成功找到了緣由

 

如圖所示,咱們看到layer的彈窗確實是已經觸發了,元素也已經追加到了網頁中,可是卻看不出來變化!

不急,選中這段代碼,咱們來看看它的樣式

這樣,咱們又發現了問題,z-index設置的很大,確定是想讓彈窗始終保持在頂層的,

可是這個top的值又未免太大了吧?!

因而我嘗試將其調整小一點

 

 如上圖所示,top改成100px以後,頁面中已經能夠捕捉到彈出層的元素位置了,可是貌似z-index還小?可是默認的z-index已經很大很大了呀

因而我又查看了本身的遮罩層的z-index

顯然不該該由於這個致使layer彈窗被覆蓋啊。

沒辦法走一步算一步,我就嘗試使用js更改這個彈窗元素按照本身調試的結果進行更改

重點來了,layer的樣式是行內的,咱們也就只能使用行內的樣式才能覆蓋系統默認的樣式了

因此:

 

 結果來了!

 

總結:出現layer的問題,通常都是本身的彈出層和layer彈出層出現了衝突。

     因此最好的解決方案,固然是從源頭上,本身的彈窗也使用layer.open來構建,這樣就不會有衝突了

          固然,既然問題已經出現了,那就試試上述方法來調整樣式吧!

相關文章
相關標籤/搜索