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

时间:2011-11-28 12:55:06

标签: javascript firefox

此网站上的一些javascripts:http://www.bristolhotel.com/pizzeria/onlinepizza3.php在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>

3 个答案:

答案 0 :(得分:2)

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

如果您查看错误控制台(我假设您没有),您将看到“nr11未定义”等错误。这就是原因:

<a onclick="OpenCloseDiv(nr11)"

我不知道您在哪里定义了变量nr11,但您可能希望将其设为字符串:"nr11"而不是。

答案 1 :(得分:1)

尝试更改window.setTimeout(“Hide();”,2000);到window.setTimeout(隐藏,2000);

答案 2 :(得分:0)

我将代码更改为:

    <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>

然后添加“”(),它现在似乎工作。 :) 谢谢你的帮助!真的很感激!