jquery - 保持父 li 就像悬停在子菜单上一样

标签 jquery css menu hover highlight

尝试在打开子菜单时获取具有事件颜色的菜单标题

CSS:

#main-nav, #main-nav ul {
margin:0;
padding:0;
list-style:none;
list-style-position:outside;
position:relative;
line-height:1.5em;
}
#main-nav a:link, #main-nav a:active, #main-nav a:visited {
display:block;
padding:0px 5px;
color:#FFF;
text-decoration:none;
background:#03C;
}
#main-nav a:hover {
background:#CCC;
}
#main-nav li {
float:left;
position:relative;
}
#main-nav ul {
position:absolute;
width:12em;
top:auto;
display:none;
}
#main-nav li ul a {
border:1px solid #333;
border-top:0px;
width:12em;
float:left;
}
#main-nav ul ul {
top:auto;
}
#main-nav li ul ul {
left:12em;
margin:0px 0 0 10px;
}
#main-nav li:hover ul ul, #main-nav li:hover ul ul ul, #main-nav li:hover ul ul ul ul {
display:none;
}
#main-nav li:hover ul, #main-nav li li:hover ul, #main-nav li li li:hover ul, #main-nav li li li li:hover ul {
display:block;
}

J查询:

$(document).ready(function(){
$("#main-nav ul").css({display: "none"});
    $("#main-nav li").hover(function(){
    $(this).find('ul:first').css({visibility: "visible",display: "none"}).show(400);
        $("ul").prev("ul").attr('style', 'background-color:#000');
    },function(){
        $(this).find('ul:first').css({visibility: "hidden"});
    });
    $("#main-nav li li a").hover(function(){
        $(this).parent("a").attr('style', 'background-color:#000');
    });
});

HTML/PHP

    <ul id="main-nav">
    <li><a href="<?=HOME;?>">Home</a></li>
    <li><a href="#">Browse</a>
        <ul>
            <li><a href="<?=SEARCH;?>" style="border-top:1px solid #333">Search</a></li>
            <li><a href="<?=ONLINE;?>">Who's Online</a></li>
        </ul>
            </li>
            <li><a href="#">Messages</a>
                <ul>
            <li><a href="<?=INBOX;?>" style="border-top:1px solid #333">Inbox</a></li>
            <li><a href="<?=COMPOSE;?>">Compose</a></li>
            <li><a href="<?=SENT;?>">Sent</a></li>
            <li><a href="<?=TRASH;?>">Trash</a></li>
        </ul>
            </li>
            <li><a href="#">Favorites</a>
        <ul>
            <li><a href="<?=MYFAVS;?>" style="border-top:1px solid #333">My Favorites</a></li>
            <li><a href="<?=ONLINEFAVS;?>">Online Favorites</a></li>
            <li><a href="<?=WHOSFAVS;?>">Whose Favorite Am I?</a></li>
        </ul>
    </li>
    <li><a href="#">Account</a>
        <ul>
            <li><a href="<?=MYPROFILE.$uid;?>" style="border-top:1px solid #333">My Profile</a></li>
            <li><a href="<?=EDITPROFILE;?>">Edit Profile / Account Settings</a>        </li>
            <li><a href="#" id="uploadphoto">Upload Photo's</a></li>
        </ul>
    </li>
    <li><a href="#">Help</a>
        <ul>
            <li><a href="<?=CONTACT;?>" style="border-top:1px solid #333">Contact Us</a></li>
            <li><a href="<?=PRIVACY;?>">Privacy Policy</a></li>
            <li><a href="<?=TOS;?>">Terms of Service</a></li>
            <li><a href="<?=ABOUTUS;?>">About Us</a></li>
        </ul>
    </li>
    </ul>

最佳答案

我认为这会满足您的需求:jsfiddle

关于jquery - 保持父 li 就像悬停在子菜单上一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5972785/

相关文章:

javascript - 如何序列化包含 jQuery ajax 加载字段的表单?

css - 如何将复选框和选项保留在 1 行上

jQuery 横幅和下拉菜单问题

javascript - 我想将菜单固定在顶部

javascript - 如何制作滚动时消失的导航栏(带有漂亮的动画)

javascript - 使用 jQuery 删除 div 不适用于动态添加的 div

css - 为什么这个 div 容器会阻止另一个 div 容器向右浮动?

css - 具有可变宽度的父列表项下的中心子菜单

javascript - 为什么 jquery ajax 表单发布在 Firefox 中不起作用

css - 在 li 之后添加 >>,最后 li 除外