javascript - 滚动后单击时下拉菜单消失

标签 javascript css drop-down-menu

我有一个下拉菜单,当您的屏幕小于 930 像素时,它会随着您滚动显示。在滚动之前效果很好。您滚动它并保持在顶部但是在您滚动并单击下拉菜单后,下拉菜单消失了。有什么想法吗?

https://www.w3schools.com/code/tryit.asp?filename=FFFCYA8T8LZZ

最佳答案

向下滚动后,您的 #myTopnav 具有 class="topnav active"。您的点击处理程序是这样的:

function myFunction() {
    var x = document.getElementById("myTopnav");
    if (x.className === "topnav") {
        x.className += " responsive";
    } else {
        x.className = "topnav";
    }
}

如果您在向下滚动后单击,元素的类不等于 topnav(因为它是 topnav active),因此此函数将类设置回 topnav,去掉进程中的active

既然你在页面中有 jQuery,你可以使用它的 toggleClass 方法:

function myFunction() {
    $("#myTopnav").toggleClass("responsive");
}

这确保了 responsive 类和 active 类相互独立地改变。

关于javascript - 滚动后单击时下拉菜单消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43869196/

相关文章:

jquery ui 下拉菜单/选择 [圆底]

javascript - 如何在reactstrap中制作页脚组件?

javascript - HTML 和 Web API 之间的不同输入数据

css - <br> 元素的默认高度是多少?

javascript - Chart JS 圆环图饼图悬停偏移

javascript - 如何让文本在悬停时慢慢改变颜色?

html - 下拉菜单在 IE8 中消失

javascript - html 输入元素仍然使用 "disabled"样式,通过 javascript 删除 "disabled"属性后

javascript - JavaScript 中的 POST 请求问题

html - 如何在语义 UI + React Dropdown 组件中插入标签元素?