javascript - Javascript在点击时隐藏/显示不起作用
问题描述
我正在尝试使用 Html 和 Javascript 创建一个下拉列表,但由于某种原因它无法正常工作,尽管观看了 Youtube 上的每个视频。这是我正在使用的代码:HTML:
<div class="dropdown">
<button id="dropdownbtn" onclick="dropdown()">Courses ▾</button>
<div id="dropdown-items">
<li class="li"><a href="#" class="li">button!!</a></li>
<li class="li"><a href="#" class="li">button!!</a></li>
<li class="li"><a href="#" class="li">button!!</a></li>
<li class="li"><a href="#" class="li">button!!</a></li>
</div>
</div>
JavaScript:
var flag = 0;
function dropdown() {
if (flag==0) {
document.getElementById("dropdown-items").style.display = "none";
flag=1;
}
if (flag==1) {
document.getElementById("dropdown-items").style.display = "block";
flag=0;
}
}
我css
也将显示设置为无。谢谢您的帮助。
解决方案
它实际上正在工作,但是您必须放置 else if 因为在 if 条件下您将标志更改为 1 并且第二个条件变为 true
var flag = 0;
function dropdown() {
if (flag==0) {
document.getElementById("dropdown-items").style.display = "none";
flag=1;
}
else if (flag==1) {
document.getElementById("dropdown-items").style.display = "block";
flag=0;
}
}
推荐阅读
- python-3.x - 定义一个函数来查找给定字符串中的唯一回文
- java - 尝试使用 Hibernate 进行查询时出错(在 id 列表中的位置)
- c# - .net 属性不会从 json 反序列化为 .net 对象
- php - Laravel 将变量或对象共享给 Admin 中的所有控制器
- c# - 有没有办法避免需要受保护的覆盖 async void OnStart()
- azure-devops - 有没有办法在 Aure DevOps Nuget 推送任务中将 CI 构建自动推送到 @Release?
- flutter - 在颤振中使用提供者时,getter 被调用为 null
- c++ - 变量具有不完整的类型'void'c ++
- botframework - 在 notifySuccess 之后不调用 signin/verifyState
- sql - 如何查询表sql?