我正在尝试使用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>


子菜单实际上是被隐藏的,但是当我将鼠标悬停在portmenu上时,该子菜单不会出现..关于错误的任何想法?我是javascript新手,所以我不知道即时消息是否正确使用了选择器,OR运算符和if语句。

基本上我想做的是,如果主菜单被悬停了,或者第一,第二和第三被悬停了,那么显示子菜单。否则,将其隐藏。我之所以这样做是因为,如果我只是在悬停了portmenu的情况下创建了一个显示子菜单的函数,那么当我悬停文本“ portfolio”时,该子菜单就会消失。

最佳答案

jsFiddle Demo

您可能应该利用jQuery's hover沿着这些思路做更多的事情:

$('#submenu').hide();
$('#portmenu, #first, #second, #third').hover(function(){
 //in
  $('#submenu').show();
},function(){
 //out
  $('#submenu').hide();
});

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

10-11 22:03
查看更多