如何解决2个菜单JavaScript与echother
我有2个相互冲突的JavaScript菜单。他们正在互相打开对方,例如,如果我单击一个菜单的菜单按钮,它将打开另一个菜单。这是两个菜单的javascript,所以问题是,如何使它们不互相干扰?
这是这里的新javascript,当我添加此javascript时,它开始干扰现有的javascript菜单。
<div class="topnavmem" id="myTopnavmem">
<a href="#">Link</a>
<a href="#">link1</a>
<a href="#">link2</a>
<a href="#">link3</a>
<a href="#">link4</a>
<a href="javascript:void(0);" class="iconmem" onclick="myFunction()">
<i class="fa fa-bars"></i>
</a>
</div>
<script>
function myFunction() {
var x = document.getElementById("myTopnavmem");
if (x.className === "topnavmem") {
x.className += " responsivemem";
} else {
x.className = "topnavmem";
}
}
</script>
这是现有的javascript菜单,它是旧的菜单,然后我在上方添加了新的javascript菜单 它开始干扰此脚本,所以我该如何使每个javascript不同,我认为问题出在myfunction上?
这是第二个javascript的菜单
<div class="topnav">
<div id="myLinks">
<a href="#" style="background: #243144;padding: 6px 16px;">Link</a>
<div id="topnav-subnav">
<a href="#">Link</a>
</div>
<a href="#" style="background: #243144;padding: 6px 16px;">Link</a>
<div id="topnav-subnav">
<a href="#">Link</a>
</div>
<a href="#about" style="background: #243144;padding: 6px 16px;">Link</a>
<div id="topnav-subnav">
<a href="#">Link</a>
</div>
<a href="# style="background: #243144;padding: 6px 16px;">Link</a>
<div id="topnav-subnav">
<a href="#">Link</a>
</div>
</div>
<a href="javascript:void(0);" class="topnavicon" onclick="myFunction()">
<i class="fa fa-bars"></i>
</a>
</div>
<script type="text/javascript">
function myFunction() {
var x = document.getElementById("myLinks");
if (x.style.display === "block") {
x.style.display = "none";
} else {
x.style.display = "block";
}
}
</script>
解决方法
两个功能都使用相同的名称。您需要给他们提供不同的名称,理想情况下,它们应该具有比myFunction
更具描述性的名称。
因此您可以将第二个代码更改为
<a href="javascript:void(0);" class="topnavicon" onclick="topNavFunction()">
<i class="fa fa-bars"></i>
</a>
<script type="text/javascript">
function topNavFunction() {
var x = document.getElementById("myLinks");
if (x.style.display === "block") {
x.style.display = "none";
} else {
x.style.display = "block";
}
}
</script>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。