Visibility属性已停止在chrome中工作

时间:2012-10-07 08:12:23

标签: javascript html css iframe

几个月前我创建了一个网络应用程序并测试它在ie,ff&铬。

昨晚我去添加了一些东西,发现我的隐藏iframe功能不再用于chrome。

如果我检查元素,我可以看到属性确实在变化,但iframe未被隐藏。

function hideIFrame(){
    document.getElementById("myFrame").style.visibility="hidden";
    self.focus();
}

function showIFrame(){
    document.getElementById("myFrame").style.visibility="visible";
}

myFrame div开始隐藏。并且成功可见但是当可见性被更改为隐藏的铬并未隐藏它时,ff并且即将其隐藏起来。

任何想法为什么?

FIX:

function hideIFrame(){
    document.getElementById("myFrame").style.visibility="hidden";
    document.getElementById("myFrame").style.opacity=0;
    self.focus();
}

function showIFrame(){
    document.getElementById("myFrame").style.visibility="visible";
    document.getElementById("myFrame").style.opacity=1;
}

4 个答案:

答案 0 :(得分:4)

iframe可见性切换存在问题($('iframe').css('visibility','hidden') not working in google chrome)。如果你想让它消失,请使用height,width:0。如果您希望它只是不可见,请使用不透明度:0。

答案 1 :(得分:1)

我没有得到你的问题。也许你应该在你调用函数的地方发布一些代码。这是一个在chrome中运行良好的示例代码。

<script type="text/javascript">
function hideIFrame(){
document.getElementById("myFrame").style.visibility="hidden";
self.focus();
}

function showIFrame(){
document.getElementById("myFrame").style.visibility="visible";
}
</script>

<input type="button" onclick="hideIFrame()" value="hide"/>
<input type="button" onclick="showIFrame()" value="show"/>

<iframe id="myFrame">

</iframe>

答案 2 :(得分:1)

使用display.none代替

    function hideIFrame(){ 
document.getElementById("myFrame").style.display="none";
    self.focus();
}

function showIFrame(){
    document.getElementById("myFrame").style.display="inline";
   //or document.getElementById("myFrame").style.display="block";
}`

答案 3 :(得分:0)

在我的情况下,我将使用JS onload来隐藏元素,我将能够使用JS来切换visibility="visible"

window.onload = function() {
  document.getElementById("newDiv").style.visibility = "hidden";
}
function showHidden() {
  document.getElementById("newDiv").style.visibility = "visible";
}