几个月前我创建了一个网络应用程序并测试它在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;
}
答案 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";
}