2

我有这个 jsbin原型,有两个菜单项,单击时显示子菜单

jsbin截图

子菜单的可见性由fadeIn()和控制fadeOut。但是,不透明度不会设置动画。它只是等待指定的时间,然后完全出现或完全隐藏。不褪色。

代码很简单,所以我很困惑......

(function(){
  var activeMenu = null;
  var animation = {
    duration: 250,
    queue: true
  };
  $(document).click(function(){
    if(activeMenu) {
      $(activeMenu).removeClass('active-nav-item');
      $(activeMenu).find('.nav-group').fadeOut(animation);
      activeMenu = null;
    }
  });
  $.fn.simpleMenu = function() {
    $(this).children('.nav-item:has(.nav-group)').each(function(i,e) {
      $(e).click(function() {
        if(activeMenu) {
          $(activeMenu).removeClass('active-nav-item');
          $(activeMenu).find('.nav-group').fadeOut(animation);
        }
        if(activeMenu !== e) {
          activeMenu = e;
          $(activeMenu).addClass('active-nav-item');
          $(activeMenu).find('.nav-group').fadeIn(animation);
          return false;
        }
      });
    });
  };
})();

$('.global-nav').simpleMenu();
$('.meta-nav').simpleMenu();
4

1 回答 1

3

我不是 100% 确定,但我认为这是你的问题线:

* {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

在删除它并且不更改任何其他内容后,它会按预期工作。

http://jsbin.com/ADINIDI/7

于 2013-10-13T03:29:27.293 回答