这是微软另一个奇怪的好奇心。在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,也许我已经在那里找到了一些关闭的东西。
这个让我疯了。任何帮助将不胜感激!
更新:我尝试将下拉菜单定位到顶部而非菜单下方,这似乎有所帮助。下拉列表的一个父元素似乎是隐藏(sorta,因为你仍然可以点击链接)下拉框一旦经过它的容器。
更新:默认情况下,下拉菜单设置为显示时,会按预期显示。然后隐藏它,并根据悬停显示它会再次导致问题。我还检查并重新检查了父元素的定位和z-index。这是一个奇怪的,因为它适用于IE7以及除IE8之外我发现的所有其他浏览器和版本。
答案 0 :(得分:1)
这是IE 8中的屏幕截图:(正常工作)