我制作了固定且粘稠的菜单。当用户将鼠标悬停在其上时,菜单边框底栏处于活动状态,但是我想要的是当用户位于源区域时,上一个“呼叫数据”部分仍将处于活动状态。当前和先前的部分都将处于活动状态。有人可以帮我弄这个吗?

请看菜单的图片,

Call Data
Source

<div class="nav" id="myNav">
    <ul>
        <li><a href="#call-data">Call Data</a></li>
        <li><a href="#source">Source</a></li>
        <li><a href="#lead">Lead</a></li>
        <li><a href="#address">Address</a></li>
        <li><a href="#motivation">Motivation</a></li>
        <li><a href="#property">Property</a></li>
        <li><a href="#visit">Visit</a></li>
        <li><a href="#finish">Finish</a></li>
    </ul>
    <a href="javascript:void(0);" class="icon" onclick="myFunction()">
        <i class="fa fa-bars"></i></a>
</div>


和CSS在这里,

ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.nav {
    position: sticky;
    top: 0;
    overflow: hidden;
    background-color: white;
    position: -webkit-sticky;
    /* Safari */
    position: -moz-sticky;
    /* firefox */
    z-index: 5;
}

.nav a {
    float: left;
    display: block;
    color: black;
    text-align: center;
    padding: 14px 24px;
    text-decoration: none;
    font-size: 17px;
}

.nav a:hover {
    color: green;
    border-bottom: 3px solid green;
}

.nav a.active {
    color: green;
    border-bottom: 3px solid green;
}

.nav .icon {
    display: none;
}

@media screen and (max-width: 1210px) {
    .nav a:not(:first-child) {
        display: none;
    }
    .nav a.icon {
        float: right;
        display: block;
    }
}

@media screen and (max-width: 1210px) {
    .nav.responsive {
        position: sticky;
        top: 0;
        overflow: hidden;
        background-color: white;
        position: -webkit-sticky;
        /* Safari */
        position: -moz-sticky;
        /* Safari */
        z-index: 5;
        opacity: 0.9;
    }
    .nav.responsive .icon {
        position: absolute;
        right: 0;
        top: 0;
    }
    .nav.responsive a {
        float: none;
        display: block;
        text-align: left;
    }
}

最佳答案

您可以尝试使用css兄弟姐妹选择器,例如:

li > a[href="#source"]:hover ~ li > a[href="#call-data"]{
  color: green;
    border-bottom: 3px solid green;
}


如果这不起作用,则可以使用带有良好的旧$('#element')。hover();的jquery。方法。

10-07 14:24