使用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来构建,这样就不会有冲突了

          固然,既然问题已经出现了,那就试试上述方法来调整样式吧!

相关文章
相关标签/搜索