我正在从Fancybox-2升级到Fancybox-3。我的网站使用fancybox将HTML块显示为页面上的覆盖层。例如,如果您单击我的条款和条件,fancybox将使用文件fb / tandc.php,其中将显示该框的所有HTML。
一些盒子使用我数据库中的数据,并使用php编程生成HTML-例如,我有从数据库中检索到的参与者列表。
在计划升级时,我在站点上添加了一个开关,使我可以决定是否要运行fancybox的版本2或版本3。在测试中,无论我使用版本2还是版本3,许多框都显示相同-换句话说,我没有更改源代码,只是更改了我称为fancybox的方式。
我的问题是,由于某些原因,某些框无法显示全部内容。当我检查页面源代码后,所有内容都存在,但是我注意到某些元素已定义了style =“ display:none”。这不是来自我的代码,所以我假设fancybox正在添加它。
因此,我的问题是,如何才能阻止这种情况?
我试图找到答案,但没有成功。我确实找到了一篇帖子,指出在Chrome中禁用AdBlocker可能会有所帮助,但这没有影响。
我在Chrome和FF中得到相同的行为
我提供了一些截图,显示元素如何包含样式;用于调用fancybox的代码;我正在使用的选项。
只需添加此要显示的代码的屏幕快照即可。我尝试添加一种样式,希望该样式可以覆盖fancybox的功能,但也无法正常工作。
code to be displayed in fancybox
这是v2 fancybox中内容的外观
,如果我的内容完全相同,但是请使用v3 fancybox:
答案 0 :(得分:0)
使用ajax从文件中加载带有内容的fancybox似乎会在元素中插入style =“ display:none”-我不知道为什么。但是,我想出了一种解决方法,可以在隐藏的页面上创建内联内容,然后像在文档中一样简单地使用data-src =“#hiddenContent”。
尽管我进行了很多调查,但每个参与者都有很多参与者,这使我的页面很大了!