具有多个 ID 的菜单切换中断
Menu toggle breaks with multiple IDs
我有一个菜单可以响应一些媒体查询,这些媒体查询可以调整菜单,因此无论屏幕大小如何,它看起来都不错。菜单使用一些 JavaScript 来创建一个切换按钮,人们可以单击切换按钮在较小的屏幕上查看导航。
一切都包裹在 DIV 中,如果 DIV 有一个 class
,我没有问题...如果 DIV 有一个 [=13] =] JavaScript 不起作用。
我不太了解JavaScript,但它看起来像是在声明一个变量。变量取的是UL的id
,应该不会有冲突。有什么我想念的吗?
JavaScript:
function myFunction() {
var x = document.getElementById("myTopnav");
if (x.className === "topnav") {
x.className += " responsive";
} else {
x.className = "topnav";
}
}
HTML(我稍微调整了链接上的 URLS 和 classes 以压缩此处的内容):
<div id="nav">
<ul class="topnav" id="myTopnav">
<li><a href="http://url.com/">Home</a></li>
<li>
<a href="http://url.com/">Pictures</a>
<ul class="children">
<li><a href="http://url.com/">Beaver</a></li>
<li>
<a href="http://url.com/">Duck</a>
<ul class="children">
<li><a href="http://url.com/">Fever</a></li>
</ul>
</li>
<li><a href="http://url.com/">Frog</a></li>
</ul>
</li>
<li><a href="http://url.com/">Nominations</a></li>
<li><a href="http://url.com/">Contact</a></li>
<li class="icon">
<a href="javascript:void(0);" onclick="myFunction()">☰</a>
</li>
</ul>
</div>
我认为 CSS 不重要,因为我很确定这是一个 JS 问题...特别是因为如果我将外部 ID 更改为 class 一切正常:-)
感谢任何帮助!
谢谢,
乔什
我基本上只是最终使用了 class 因为它有效。使用 ID 会很好,但由于它与 class 一起使用,所以这不是什么大问题。
我有一个菜单可以响应一些媒体查询,这些媒体查询可以调整菜单,因此无论屏幕大小如何,它看起来都不错。菜单使用一些 JavaScript 来创建一个切换按钮,人们可以单击切换按钮在较小的屏幕上查看导航。
一切都包裹在 DIV 中,如果 DIV 有一个 class
,我没有问题...如果 DIV 有一个 [=13] =] JavaScript 不起作用。
我不太了解JavaScript,但它看起来像是在声明一个变量。变量取的是UL的id
,应该不会有冲突。有什么我想念的吗?
JavaScript:
function myFunction() {
var x = document.getElementById("myTopnav");
if (x.className === "topnav") {
x.className += " responsive";
} else {
x.className = "topnav";
}
}
HTML(我稍微调整了链接上的 URLS 和 classes 以压缩此处的内容):
<div id="nav">
<ul class="topnav" id="myTopnav">
<li><a href="http://url.com/">Home</a></li>
<li>
<a href="http://url.com/">Pictures</a>
<ul class="children">
<li><a href="http://url.com/">Beaver</a></li>
<li>
<a href="http://url.com/">Duck</a>
<ul class="children">
<li><a href="http://url.com/">Fever</a></li>
</ul>
</li>
<li><a href="http://url.com/">Frog</a></li>
</ul>
</li>
<li><a href="http://url.com/">Nominations</a></li>
<li><a href="http://url.com/">Contact</a></li>
<li class="icon">
<a href="javascript:void(0);" onclick="myFunction()">☰</a>
</li>
</ul>
</div>
我认为 CSS 不重要,因为我很确定这是一个 JS 问题...特别是因为如果我将外部 ID 更改为 class 一切正常:-)
感谢任何帮助!
谢谢,
乔什
我基本上只是最终使用了 class 因为它有效。使用 ID 会很好,但由于它与 class 一起使用,所以这不是什么大问题。