javascript - 使用 Javascript if 语句以及 and 运算符和选择器来创建导航栏

标签 javascript

我正在尝试使用 Javascript 创建自己的导航栏,这就是我到目前为止所拥有的。

$(document).ready(function() {
<nav class="menuL">
    <ul id="menu">
        <li><a href="#!/page_portfolio" id="portmenu"><span></span>portfolio</a></li>
            <ul id="submenu">
                <li id="first"><a href="#!/">Wine</a></li>
                <li id="second"><a href="#!/">Landscape</a></li>
                <li id="third"><a href="#!/">Divers</a></li>
            </ul>
<script>
    $('#submenu').hide();
</script>
<script>
        if ($('#portmenu').mouseover() || $('#first').mouseover() || $('#second').mouseover() || $('#third').mouseout()) {
            $('#submenu').show();
        } else {
            $('#submenu').hide();
}
});
</script>

子菜单实际上是隐藏的,但是当我将鼠标悬停在端口菜单上时,子菜单没有出现..有什么问题的想法吗?我是 javascript 新手,所以我不知道我是否正确使用了选择器、OR 运算符和 if 语句。

基本上我想做的是,如果主端口菜单悬停在上面,或者如果第一个、第二个和第三个悬停在上面,则显示子菜单。否则,隐藏它。我正在尝试这样做,因为如果我只是创建一个函数,如果将鼠标悬停在端口菜单上,则显示子菜单,那么当我将鼠标悬停在文本“portfolio”上时,子菜单就会消失。

最佳答案

您只需使用 CSS 即可实现:

#menu > #submenu{
    display: none;
}
#menu:hover > #submenu{
    display: block;
}

演示:http://jsfiddle.net/Wp5sF/

关于javascript - 使用 Javascript if 语句以及 and 运算符和选择器来创建导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17625611/

相关文章:

javascript - 如何在本地测试 Backbone 路由器哈希?

javascript - ng-repeat 具有 "checked"属性的多个单选按钮组——仅检查最后一个组

javascript - jQuery 突出显示不适用于 Bootstrap v4 按钮

javascript - Foundation 6 - 单击时下拉元素不激活链接

javascript - 如何将(不完整的)选择列表的顺序恢复为其原始顺序?

javascript - 如何为浏览器客户端设置 RabbitMQ 绑定(bind)?

javascript - 在 Firefox 中生成 'custom colour dialog'

javascript - 如何替换因丢失或错误图像 src 而损坏的 HTML img

javascript - 在 Three.js 中加载 STL 文件的首选方法是什么

javascript - 使用 Angular 1.5 组件绑定(bind)字符串时出错