-2

我有一个<script>显示 Google 可视化的(长)元素。代码直接来自谷歌;我没有办法改变它。

我需要这个隐藏的输出,直到用户点击显示。

我有两次尝试来实现这个目标:

  1. 如果脚本标签在隐藏的 DOM 节点内处理,则在显示包含节点时它无法显示。

  2. 如果脚本标签是动态插入的jQuery('#parent-element').html('<script...>');,那么它会失败,因为它需要document.write哪些不能异步运行(无法告诉文档中的哪个位置写入它)

我需要显示/隐藏按钮的原因是因为输出显示在全屏覆盖中(对于正常内容区域来说太大了)。

我想要一个通用的解决方案,这样我的客户就可以嵌入由外部 SAAS(google、youtube、...)提供的其他“神奇”html 块

4

2 回答 2

1

而不是display:none使用不可见元素 ( visibility:hidden)。

display:none表示该元素不作为 DOM 的一部分呈现。
在显示属性更改为其他内容之前不会加载它。

visibility:hidden加载元素,但不显示它。

于 2012-10-19T12:27:17.657 回答
0

我通过<script>绝对定位 的父元素并远离视口(css:)解决了这个问题position:absolute; left:-10000px;

然后我将fixed覆盖完全分开(即兄弟),默认隐藏。

在显示时,覆盖被fadeIn()ed 并且在淡入淡出完成时,屏幕外内容元素被设置为position:fixed; left: 24px; top: 24px;

重新隐藏时,内容会在屏幕外重置,并且覆盖层会以fadeOut().

叠加层需要低于z-index内容。

于 2012-10-19T13:50:07.800 回答