【问题标题】:Why isn't .hover() working with Animate.css?为什么 .hover() 不能与 Animate.css 一起使用?
【发布时间】:2018-08-16 11:38:31
【问题描述】:

我正在创建一个大型菜单。一切都很好,除了当鼠标悬停在菜单本身上时——在它与动画一起出现之后——菜单然后隐藏。

只有当 animate.css 类“animated”和“bounceIn”在代码中时才会发生这种情况。当它们被移除并仅添加“show”类时,菜单在悬停时不会隐藏并且可以正常工作。

将 animate.css 与 .hover() 结合使用有什么特别之处吗?

HTML

<div class="nav">
    <ul>
        <li class="wsite-nav-1">Home</li>
    </ul>
    <div class="mega-menu">
          <div class="menu-1 menu">Mega Menu</div>
    </div>
</div>

CSS

.menu {
  border:1px solid #004698;
  padding:2em;
  box-sizing:border-box;
  display:none;
}
.menu.show {
  display:block;
}

jQuery

  // Mega Menu
  $('.menu-1, .wsite-nav-1').hover(function() {
    $('.menu-1.menu').addClass('show animated bounceIn');
  },function() {
    $('.menu-1.menu').removeClass('show animated bounceIn');
  });

【问题讨论】:

  • 你忘了用" &lt;li class="wsite-nav-1&gt;Home&lt;/li&gt;&lt;/ul&gt; 结束课堂
  • 糟糕!这是一个清晨。全部关闭,但问题仍然存在。

标签: jquery css jquery-hover animate.css megamenu


【解决方案1】:

您只能使用 css,如下所示并将 .mega-menu 移动到 li

.menu {
  border:1px solid #004698;
  padding:2em;
  box-sizing:border-box;
  display:none;
}

.wsite-nav-1:hover .menu{
    display:block;
    -webkit-animation: bounceIn 1s;
    animation: bounceIn 1s;
}
 <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.7.0/animate.css">
<div class="nav">
    <ul>
        <li class="wsite-nav-1">Home
          <div class="mega-menu">
            <div class="menu-1 menu">Mega Menu</div>
          </div>
        </li>
    </ul>
</div>

【讨论】:

  • 没有。动画效果很好。问题是当我将鼠标从导航中的父菜单项移动到菜单时,菜单会在不应该隐藏时隐藏。
  • 好的,让我检查一下....但是我的代码我认为它没有发生..我是对的吗?
猜你喜欢
  • 1970-01-01
  • 2012-07-14
  • 2018-03-09
  • 2021-06-14
  • 2012-10-09
  • 2020-03-18
  • 2017-11-21
  • 2019-04-11
  • 2012-09-19
相关资源
最近更新 更多