切换Javascript在单击时返回错误
所以我试图在我的网站上建立一个菜单开放系统。但是每次我点击div来激活切换时,我都会得到这样一个“toggle\u visibility is not defined”。 我试着把脚本放在页眉和页脚,但仍然不起作用。建议 如果您想对其进行测试,请访问以下站点: 这是我正在使用的javascript:切换Javascript在单击时返回错误,javascript,jquery,css,html,Javascript,Jquery,Css,Html,所以我试图在我的网站上建立一个菜单开放系统。但是每次我点击div来激活切换时,我都会得到这样一个“toggle\u visibility is not defined”。 我试着把脚本放在页眉和页脚,但仍然不起作用。建议 如果您想对其进行测试,请访问以下站点: 这是我正在使用的javascript: <script type="text/javascript"> <!-- function toggle_visibility(id) { var e = d
<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>
测试2
删除
如下:
<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>
问题是您的脚本已经在js文件中,因此您不必将代码放入
标记中。当您直接在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';
}
注意:browser developer web工具对调试代码很有用,通常您可以在浏览器中按f12键来使用它(特别是在firefox或chrome中)。请参见您网站主页的示例:[[IMG]您的脚本已被注释掉。删除注释标记您没有注意到它在menu.js的第1行上抛出的语法错误?为什么会被否决?他提供了一个解释以及相关代码。+1注释为什么会影响javascript?我在脚本中还有额外的HTML,我想添加到脚本中,我已对其进行了注释,因此不会出现错误联合国。让我试试你说的。@RachelGallenit在menu.js SyntaxError:expected expression,get'上面的语句没有返回错误,并且使脚本再次可执行。请解释下一票。我没有下一票。我删除了它,但它不起作用。由于历史原因,允许在脚本标记中使用HTML注释(当嵌入HTML时)因此问题中的代码实际上是有效的。(真正的问题是脚本标记根本就存在——如果你访问该站点,你会看到file menu.js包含那些HTML标记,这当然是无效的。)@コードバリノ 那么现在有什么问题吗?我试着用的时候效果很好。@AndrewLyndem我投你的票,我不知道当Javascript在外面的时候我不能纠正里面的HTML。我过去在这方面从来没有遇到过问题……但不管怎样。每个人都被否决了,所以你至少应该得到感谢。
function toggle_visibility(id) {
var e = document.getElementById(id);
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}