Javascript 打开其他下拉列表时关闭下拉列表
这是我的密码:Javascript 打开其他下拉列表时关闭下拉列表,javascript,dropdown,Javascript,Dropdown,这是我的密码: /*当用户单击按钮时, 在隐藏和显示下拉内容之间切换*/ 函数myFunction(){ document.getElementById(“myDropdown”).classList.toggle(“show”); } //如果用户在下拉列表之外单击,请关闭下拉列表 window.onclick=函数(事件){ 如果(!event.target.matches('.dropbtn')){ var dropdowns=document.getElementsByClassName
/*当用户单击按钮时,
在隐藏和显示下拉内容之间切换*/
函数myFunction(){
document.getElementById(“myDropdown”).classList.toggle(“show”);
}
//如果用户在下拉列表之外单击,请关闭下拉列表
window.onclick=函数(事件){
如果(!event.target.matches('.dropbtn')){
var dropdowns=document.getElementsByClassName(“下拉内容”);
var i;
对于(i=0;i
当一个下拉列表打开时,可以同时打开另一个下拉列表。我试着把另一个关上,一次只打开一个。如何做到这一点?将您的函数更新为:
function myFunction() {
var d2 = document.getElementById("myDropdown2").classList;
if(d2.contains("show")) d2.toggle("show");
document.getElementById("myDropdown").classList.toggle("show");
}
另一个功能类似
i、 e,检查另一个下拉列表是否包含类show
,然后将其删除
更好的方法是跟踪上一个打开的下拉列表,并在打开另一个下拉列表之前关闭它,但因为您只有两个下拉列表,所以这应该可以
现场演示
function myFunction() {
var d2 = document.getElementById("myDropdown2").classList;
if(d2.contains("show")) d2.toggle("show");
document.getElementById("myDropdown").classList.toggle("show");
}