【发布时间】:2023-04-01 10:31:02
【问题描述】:
我正在使用以下代码:
<div id="trialwindow" style="display:none; background-color: #ffffff; position:fixed; z-index:1000; top:40px; left:200px; height: 600px; width: 850px; border:3px solid #000000;">
<iframe src="game/game.html" style="border: 0; width: 100%; height: 600px;"></iframe>
</div>
这在 Chrome 中运行良好。
但是,加载的 iframe 中的布局与 Firefox(v7.0.1) 完全不同。我通过使用单击回调将显示属性设置为“块”来查看布局。
如果我根本不使用display,它可以正常工作。但我真的需要能够在这里隐藏和显示有问题的 iframe。
这是显示切换机制的代码。
$('#trial').click(function() {
$('#fadeoutwindow').css('display', 'block');
var trialwindow = $('#trialwindow');
trialwindow.css('display', 'block');
// To stop bubbling
return false;
});
$('#fadeoutwindow').click(function() {
$('#fadeoutwindow').css('display', 'none');
$('#trialwindow').css('display', 'none ');
});
这里,#fadeoutwindow 是一个 div,它在 iframe 出现时覆盖所有其他内容。 #trial 是一个锚标记。
帮助?
谢谢!
【问题讨论】:
-
如果没有明确设置 div 的默认显示值将是“块”,所以如果它在没有设置显示的情况下工作,当您单击按钮时可能存在 javascript 问题。我们能看到 tge 的完整代码吗?
-
除了包装
div之外,您是否尝试隐藏(切换display值)iframe本身?如果您设置display: block,加载页面,然后隐藏iframe,然后使用您的按钮再次显示它会发生什么? -
“我通过使用一个按钮来查看布局,该按钮调用将显示属性设置为'块'。” — 你能把那个按钮的代码也贴出来吗?没有它,调试你的问题有点困难。
-
添加了编辑。希望它现在更清楚一点。谢谢!
-
您可以通过使用 hide() 和 show() 来简化代码,而不是自己将 CSS 属性 display 设置为 block 或 none。仅供参考