Javascript返回错误onclick

Toggle Javascript returns error onclick

本文关键字:onclick 错误 返回 Javascript      更新时间:2023-09-26

所以我想在我的网站上做一个菜单开放系统。但是每次我点击div来激活toggle_visibility时,我都会得到这个"toggle_visibility is not defined"。我试过把脚本在头部和脚注,但仍然不工作。建议吗?

如果你想测试它,这里是网站:链接

这是我使用的javascript:

<script type="text/javascript">
<!--
    function toggle_visibility(id) {
       var e = document.getElementById(id);
       if(e.style.display == 'block')
      e.style.display = 'none';
       else
          e.style.display = 'block';
    }
//-->
   </script>

这是HTML

<div class="user-image" href="#" onclick="toggle_visibility('menu-options');">
<img src="http://chocobento.x10.mx/wp/wp-content/uploads/2015/09/1-300x300.jpg" width="180" height="180" alt="itslino" class="avatar avatar-180 wp-user-avatar wp-user-avatar-180 alignnone photo">
</div>
<div id="menu-options">
<a href="www.google.com">Test</a></br>
Test 2
</div>

问题是你的脚本已经在js文件,所以你不必把你的代码在<script></script>标签。当你直接在html页面中编写js代码时,使用这个标签。也就是说,你的menu.js文件的内容应该是:

 function toggle_visibility(id) {
   var e = document.getElementById(id);
   if(e.style.display == 'block')
  e.style.display = 'none';
   else
      e.style.display = 'block';
}

:浏览器开发人员的web工具是有用的调试你的代码,通常你可以使用它按下f12在你的浏览器(特别是在firefox或chrome)。[[IMG]http://i57.tinypic.com/dcvcyp.png[/IMG]]

从脚本中删除<!--,删除该行或将其注释掉,就像您对-->所做的那样:

<script type="text/javascript">
    //<!--
        function toggle_visibility(id) {
           var e = document.getElementById(id);
           if(e.style.display == 'block')
          e.style.display = 'none';
           else
              e.style.display = 'block';
        }
    //-->
</script>

如果你在一个JavaScript页面上调用脚本 (someFile.js):

然后删除这些行:<script type="text/javascript"></script>并将其保留为:

function toggle_visibility(id) {
    var e = document.getElementById(id);
    if(e.style.display == 'block')
        e.style.display = 'none';
    else
        e.style.display = 'block';
}