javascript的隐藏/显示功能在Firefox中不起作用

javascript hide/show functionality doesn't work in Firefox

本文关键字:Firefox 不起作用 功能 显示 隐藏 javascript      更新时间:2023-09-26

这个网站:http://www.bristolhotel.com/pizzeria/onlinepizza3.php上的一些javascript不能在Firefox中工作。有什么问题吗?

<script language="JavaScript">
     function OpenDiv(popUpDiv){
          popUpDiv.style.display="block";
          window.setTimeout("Hide();", 2000);
     }
     function OpenDiv(blanket){
          blanket.style.display="block";
          window.setTimeout("Hide();", 2000);
     }
     function Hide() {
          document.getElementById('popUpDiv').style.display='none'
          document.getElementById('blanket').style.display='none'
     }
</script>
<script language="JavaScript">
     function OpenCloseDiv(divName) {
          if (divName.style.display == "none") {
              divName.style.display="block";
          } else {
              divName.style.display="none";
          } 
     }
</script>

您提供的代码实际上并不是问题所在。

如果你查看错误控制台(我假设你没有),你会看到像"nr11未定义"这样的错误。原因如下:

<a onclick="OpenCloseDiv(nr11)"

我不知道你在哪里定义了变量nr11,但你可能想让它成为一个字符串:"nr11"

尝试改变window.setTimeout("Hide();", 2000);窗口。setTimeout(隐藏,2000)、

我把代码改成这样:

    <script type="text/javascript">
function OpenCloseDiv(divName){
  var div = document.getElementById(divName);
  if (div.style.display == "none") {
    div.style.display="block";
  }
  else {
    div.style.display="none";
  }
}
</script>
<script type="text/javascript">
function OpenDiv(popUpDiv){
var div = document.getElementById(popUpDiv);
div.style.display="block";
window.setTimeout("Hide();", 2000);
}
function OpenDiv(blanket){
var div = document.getElementById(blanket);
div.style.display="block";
window.setTimeout("Hide();", 2000);
}
function Hide()
{
document.getElementById('popUpDiv').style.display='none'
document.getElementById('blanket').style.display='none'
}
</script>

,然后添加"(),它现在似乎工作。:)谢谢你的帮助!非常感谢!