当前位置: 首页 > 知识库问答 >
问题:

如何使悬停属性在点击/激活时保持不变?

养翔
2023-03-14

如何使悬停属性在点击/激活时停留?

加载项:当其他子菜单打开时关闭子菜单。当我想打开其他子菜单时,我想关闭该子菜单。怎么做?

单击我

<div id="container">
    <nav>
        <ul>
            <li class="show-sub"><a href="#">Walk-In<span class="sub-arrow"></span></a>
                <ul>
                    <li><a href="#">Subscr</a></li>
                    <li><a href="#">asdasd</a></li>
                    <li><a href="#">asdasd</a></li>
                </ul>
            </li>
            <li class="show-sub"><a href="#">Members<span class="sub-arrow"></span></a>
                <ul>
                    <li><a href="#">Subscr</a></li>
                    <li><a href="#">asdasd</a></li>
                    <li><a href="#">asdasd</a></li>
                </ul>       
            </li>
            <li class="show-sub"><a href="#">Sales<span class="sub-arrow"></span></a>
                <ul>
                    <li><a href="#">Subscr</a></li>
                    <li><a href="#">asdasd</a></li>
                    <li><a href="#">asdasd</a></li>
                </ul>
            </li>
            <li class="show-sub"><a href="#">Inventory<span class="sub-arrow"></span></a>    
                <ul>
                    <li><a href="#">Subscr</a></li>
                    <li><a href="#">asdasd</a></li>
                    <li><a href="#">asdasd</a></li>
                </ul>
            </li>
            <li class="show-sub"><a href="#">Suppliers<span class="sub-arrow"></span></a>    
                <ul>
                    <li><a href="#">Subscr</a></li>
                    <li><a href="#">asdasd</a></li>
                    <li><a href="#">asdasd</a></li>
                </ul>
            </li>
            <li class="show-sub"><a href="#">Reports<span class="sub-arrow"></span></a>    
                <ul>
                    <li><a href="#">Subscr</a></li>
                    <li><a href="#">asdasd</a></li>
                    <li><a href="#">asdasd</a></li>
                </ul>
            </li>
        </ul>
    </nav>
</div>

JS

$(document).ready(function(e){
    $('.show-sub').click(function(e){
        $(this).children('ul').slideToggle();
    });

    $(".show-sub ul").click(function(e){
        e.stopPropagation();
    });
});

CSS

@import url(https://fonts.googleapis.com/css?family=Open+Sans:400italic,400,300italic,300);
* {
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Open Sans';
}

a {
    text-decoration: none;
}

header {
    width: 100%;
    height: 50px;
    border-bottom: 1px solid #858585;
}

.user {
    float: right;
    margin-top: 13px;
    margin-right: 20px;
}

.logo {
    float: left;
    margin-top: 9px;
    margin-left: 15px;  
}

.logo a {
    font-size: 1.3em;
    color: #070807;
}

.logo a span {
    font-weight: 300;
    color: #1AC93A;
}

nav {
    width: 250px;
    height: calc(100% - 50px);
    background-color: #171717;
    float: left;
}

#content {
    width: :auto;
    margin-left: 250px;
    height: calc(100% - 50px);
    padding: 15px
}

nav li {
    list-style: none;
}

nav li a {
    color: #ccc;
    display: block;
    padding: 10px;
    font-size: 0.8em;
    border-bottom: 1px solid #0a0a0a;
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
}

nav li a:hover {
    background-color: #030303;
    color: #fff;
    padding-left: 80px;
}

/*nav li a:focus {
    background-color: #030303;
    color: #fff;
    padding-left: 80px;
}*/

nav ul li ul {
    display: none;
    padding-left: 80px;
}

/*nav ul li:hover > ul {
    display: block;
}*/

/*nav ul li.tap > ul {
    display: block;
}*/

nav .sub-arrow:after {
    content: '\203A';
    float: right;
    margin-right: 20px;
}

nav .sub-arrow:hover:after {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    transform: rotate(90deg);
}

共有1个答案

印成天
2023-03-14

单击元素时添加类,并将css更改为同时使用悬停和类:

nav li a:hover, .active {
    background-color: #030303;
    color: #fff;
    padding-left: 80px;
}

JS:

$('.show-sub').click(function(e){
    // This closes all active menus before opening the clicked menu
    $('.active').removeClass('active').children('ul').slideUp();

    $(this).addClass('active');
    $(this).children('ul').slideToggle();
});

*编辑后先关闭所有其他菜单

 类似资料:
  • 我试图创建一个激活页面,以便当用户点击他们的激活链接时,它将引导用户到activate.php页面,并显示一条消息,说明阉羊帐户是否激活。 我的问题是,它一直显示消息“代码和用户名不匹配!帐户未激活。”它根本不显示成功消息“帐户已激活”,即使已单击激活链接。 此外,如果识别了正确的用户名和代码,数据库中的“活动”列应该更改为“1”,但它仍然显示“0”,这意味着帐户仍然不活动。 我的问题是,为什么它

  • 我正在使用mapbox并将多个geojson层加载到地图上,如下所示: 每个Geojson特性包含许多属性;例如,标题和描述在工具提示中正确显示。 我遇到的问题是通过其他交互访问这些属性。我正在调整悬停时每个多边形的样式,如下所示: 通过或访问交互中属性的任何尝试都将失败。我假设工具提示工作意味着它们可用,但无法计算出我哪里出错了。。。?

  • 多亏了来自NickFroty的youtube教程,我能够在php中创建一个合适的注册系统,我已经能够将他的代码从mysql转换为mysqli,并且能够在用户注册后通过电子邮件发送激活链接。 下面的代码将在数据库中插入注册详细信息,并在用户注册后将消息和激活链接发送到用户的电子邮件。 但是我现在有个问题。如果我点击链接,它会将用户导航到页面。 我的问题是:在用户点击激活链接后,它如何激活用户的帐户?

  • 我为侧栏导航制作了这种样式 我制作了一个长方体,并使用“变换”将其隐藏在左侧,以获得弯曲的边界效果。 悬停时,激活ect 边框按钮- 有什么东西可以添加到主div中,以同时激活每个子元素中的悬停效果吗? 现在,只有当我将鼠标悬停在每个单独的元素上时,它才会工作。 任何帮助都非常感谢:)

  • 问题内容: 我一直在尝试寻找在Chrome中进行仿真的代码,但是即使触发了“ mouseover”侦听器,也从未设置CSS“ hover”声明! 我也尝试过: 但是似乎没有什么可以将元素更改为其声明中声明的内容。 这可能吗? 问题答案: 由于用户交互或作为DOM更改的直接结果而由用户代理生成的事件,由用户代理信任,其特权不提供给脚本通过DocumentEvent.createEvent生成的事件。

  • 问题内容: 我一直在尝试寻找在Chrome中进行仿真的代码,但是即使触发了“ mouseover”监听器,也从未设置CSS“ hover”声明! 我也尝试过: 但是似乎没有什么可以将元素更改为其声明中声明的内容。 这可能吗? 问题答案: 你不能 这不是一个值得信任的事件。 由于用户交互或作为DOM更改的直接结果而由用户代理生成的事件,由用户代理信任,其特权不提供给脚本通过DocumentEvent