0

这是微软的另一个奇怪的好奇心。在 IE8 中,当我尝试显示特定元素时,无论使用何种方法(幻灯片、显示、淡入淡出),它都不会显示......但确实存在。因此,如果您在 IE8 中访问 http://www.stratfor.com并将鼠标悬停在下拉主菜单链接上,您会注意到一个小边框直接出现在作为下拉列表一部分的元素下方,但不显示整个东西。现在向下移动鼠标,您会注意到链接在那里并且可点击,您只是看不到它们。当您单击链接时,在页面重新加载之前,将出现下拉菜单。

必须与这些元素的设置方式有关,因为在网站的其他区域,不存在这个问题。我尝试了从悬停到绑定的不同 jQuery 方法。当页面加载并正确显示时,我已将下拉菜单设置为一个块。我已将下拉菜单设置为一个块,一旦页面加载,就使用 jQuery 将其隐藏,并且行为仍然存在。

下面是我正在使用的代码:

(function ($) {
  // Initialize the main menu dropdowns.
  Drupal.behaviors.mainMenu = {
    attach: function (context, settings) {
      $('#block-system-main-menu .site-menu li', context).hover(
        function() {
          $(this).addClass('is-active');
          if ( $('.site-submenu', this).length ) {
            $('.site-submenu', this).slideDown('fast');
          }
        }, function() {
          $(this).removeClass('is-active');
          if ( $('.site-submenu', this ).length && $('.site-submenu', this).is(':visible')) {
            $('.site-submenu', this).hide();
          }
        });
      }
    };
  }
})(jQuery);

也检查一下 CSS,也许我在那里有一些东西是关闭的。

这个让我发疯。任何帮助将不胜感激!

更新:我尝试将下拉菜单定位到顶部而不是菜单下方,这似乎有帮助。下拉框的父元素似乎隐藏(排序,因为您仍然可以单击链接)下拉框一旦通过它的容器。

更新:当下拉菜单设置为默认显示时,会按预期显示。然后隐藏它,并基于悬停显示它再次导致问题。我还检查并重新检查了父元素的定位和 z-index。这是一个奇怪的问题,因为它适用于 IE7 和我发现的所有其他浏览器和版本,除了 IE8。

4

1 回答 1

1

这是 IE 8 中的屏幕截图:(工作正常)

截屏

于 2013-09-17T19:44:30.860 回答