在隐藏侧边栏时,鼠标悬停时仍然可以看到菜单文本

时间:2015-05-20 19:20:53

标签: html web css

我正努力在我的主页上制作侧边栏,就像google冒险(https://www.gv.com/lib/how-to-choose-the-right-ux-metrics-for-your-product)。但我遇到的问题是,当我点击侧栏中的任何菜单项时,侧栏会崩溃,但菜单项的文本仍然存在。我想保持侧边栏打开,直到鼠标光标位于侧边栏区域(即使用户点击任何菜单,它应该保持打开/消耗),但是当菜单项的文本保留在空气。我不知道如何解决这个问题,因为我对css和设计没有多少动手。

这是我的jquery代码,用于添加用于折叠/扩展侧栏的类

$('[data-toggle="offcanvas"]').mouseenter(function(e) {
    e.preventDefault();
    if ($("body").hasClass('sidebar-collapse')) {
        $("body").removeClass('sidebar-collapse');
        $("body").addClass('sidebar-open')
    }
});

$('[data-toggle="offcanvas"]').mouseleave(function(e) {
    e.preventDefault();
    if ($("body").hasClass('sidebar-open')) {
        $("body").removeClass('sidebar-open');
        $("body").addClass('sidebar-collapse')
    };
});

这是

的css类(带媒体查询)
.main-sidebar,
.left-side {
    position: absolute;
    top: 0px;
    left: 0;
    padding-top: 50px;
    min-height: 100%;
    width: 230px;
    z-index: 0;
    -webkit-transition: -webkit-transform 0.3s ease-in-out, width 0.3s ease-in-out;
    -moz-transition: -moz-transform 0.3s ease-in-out, width 0.3s ease-in-out;
    -o-transition: -o-transform 0.3s ease-in-out, width 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, width 0.3s ease-in-out;
}

@media (max-width: 767px) {
    .main-sidebar,
    .left-side {
        -webkit-transform: translate(-230px, 0);
        -ms-transform: translate(-230px, 0);
        -o-transform: translate(-230px, 0);
        transform: translate(-230px, 0);
    }
}

@media (min-width: 768px) {
    .sidebar-collapse .main-sidebar,
    .sidebar-collapse .left-side {
        -webkit-transform: translate(-230px, 0);
        -ms-transform: translate(-230px, 0);
        -o-transform: translate(-230px, 0);
        transform: translate(-230px, 0);
    }
}

@media (max-width: 767px) {
    .sidebar-open .main-sidebar,
    .sidebar-open .left-side {
        -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        -o-transform: translate(0, 0);
        transform: translate(0, 0);
    }
}

.sidebar {
    padding-bottom: 10px;
}

这里是我的一方居住的HTML代码

<aside class="main-sidebar" data-toggle="offcanvas">
  <section class="sidebar">
    <ul class="sidebar-menu">
      <li>...</li>
      <li>...</li>
      <li>...</li>
    </ul>
  </section>
 <aside>

我尝试在mouseclick事件中实现它,方法是继续添加sidebar-open类但这没有用。任何帮助将受到高度赞赏。感谢

0 个答案:

没有答案