Javascript 可见性属性已停止在chrome中为我工作
几个月前,我创建了一个web应用程序,并在ie、ff和chrome中测试了它的工作性能 昨晚我去添加了一些东西,注意到我的hide-iframe函数在chrome中已经不起作用了Javascript 可见性属性已停止在chrome中为我工作,javascript,html,css,iframe,Javascript,Html,Css,Iframe,几个月前,我创建了一个web应用程序,并在ie、ff和chrome中测试了它的工作性能 昨晚我去添加了一些东西,注意到我的hide-iframe函数在chrome中已经不起作用了 <script type="text/javascript"> function hideIFrame(){ document.getElementById("myFrame").style.visibility="hidden"; self.focus(); } function showIFrame(
<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>
如果我检查元素,我可以看到属性确实在更改,但是iframe没有隐藏
function hideIFrame(){
document.getElementById("myFrame").style.visibility="hidden";
self.focus();
}
function showIFrame(){
document.getElementById("myFrame").style.visibility="visible";
}
myFrame div从隐藏开始。并成功地使其可见,但当可见性更改为隐藏时,chrome不会隐藏它,ff和ie仍会隐藏它
知道为什么吗
修复方法:
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;
}
iframe可见性切换()存在问题。如果要使其消失,请使用高度、宽度:0。如果您希望它只是不可见,请使用不透明度:0。我不明白您的问题。可能您应该在调用函数的地方发布更多代码。下面是一个在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>
函数hideIFrame(){
document.getElementById(“myFrame”).style.visibility=“hidden”;
self.focus();
}
函数showIFrame(){
document.getElementById(“myFrame”).style.visibility=“visible”;
}
在我的例子中,我将只使用JS onload隐藏元素,并且我将能够使用JS切换visibility=“visible”
改用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";
}`
你能提供一份JSFIDLE吗。一定有别的事情发生了…有同样的问题。你能在Chromium上找到bug条目吗?编辑:找到了这个条目:你能确认这个错误只发生在嵌入flash内容的页面上吗?@Gyum Fox我的页面确实嵌入了flash Yes是的,我添加到了一个提琴中,这个功能在chrome中工作,但出于某种原因,不在我的应用程序中