javascript - 如何使用 Javascript 获取按钮,当用户点击它时,在两个按钮中执行 myFunction
问题描述
// Get the button, and when the user clicks on it, execute myFunction
document.getElementById("myBtn2").onclick = function() {myFunction()};
document.getElementById("myBtn").onclick = function() {myFunction()};
function myFunction() {
document.getElementById("myDropdown").classList.toggle("show");
}
function myFunction() {
document.getElementById("myDrop").classList.toggle("show2");
}
.dropbtn {
background-color: #4CAF50;
color: white;
padding: 16px;
font-size: 16px;
border: none;
cursor: pointer;
}
.dropbtn:hover, .dropbtn:focus {
background-color: #3e8e41;
}
.dropdown {
position: relative;
display: inline-block;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
overflow: auto;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
.dropdown-content a:hover {background-color: #f1f1f1}
.show {display:block;}
.show2 {display:block;}
<h2>Clickable Dropdown</h2>
<p>Click on the button to open the dropdown menu.</p>
<div class="dropdown">
<button id="myBtn" class="dropbtn">Dropdown</button>
<div id="myDropdown" class="dropdown-content">
<a href="#home">Home</a>
<a href="#about">About</a>
<a href="#contact">Contact</a>
</div>
</div>
<div class="dropdown">
<button id="myBtn2" class="dropbtn">Dropdown</button>
<div id="myDrop" class="dropdown-content">
<a href="#home">Home</a>
<a href="#about">About</a>
<a href="#contact">Contact</a>
</div>
</div>
上面的代码中有两个导航,我希望每个都单独单击。我尝试使用两个 onclick myFuncition Javascript,但这不起作用。我尝试声明两个 id 并且将单独使用我可以用同样的方式做到这一点。请对此提供帮助。获取按钮,当用户单击它时,执行 myFunction
解决方案
您不能声明两次相同的函数,但是,您可以在调用函数时使用参数,因此您可以针对具有相同函数结构的不同元素:
document.getElementById("myBtn2").onclick = function() {myFunction("myDropdown", "show")};
document.getElementById("myBtn").onclick = function() {myFunction("myDrop", "show2")};
function myFunction(MyId, MyClass) {
document.getElementById(MyId).classList.toggle(MyClass);
}
推荐阅读
- c# - WPF 实时图表 x 轴标签将出现两次,但仅设置一次
- powershell - 从 CSV 创建 TXT 并删除逗号,这是必需的
- python - 我不能用 tkinter 网格系统向左倾斜
- c++ - 当两个继承的类都需要不同的成员时,如何处理多重继承?
- flutter - 如何重置颤振项目,Xcode 失败
- sql - 如果值不在另一个表中,如何防止插入到 SQL Server 表中?
- r - 如何调整R中UpSet图的y轴标题位置?
- ant - olap4j 构建时的常春藤问题
- cakebuild - 如何使用 Cake Building 将 Docker 映像推送到 Azure 容器注册表?
- python - 如何在熊猫中组合索引+列+ DataFrame值