【问题标题】:IE8: Strange jQuery show element issue regardless the method (slide, show, fade)IE8:奇怪的 jQuery 显示元素问题,不管方法(幻灯片、显示、淡入淡出)
【发布时间】:2013-07-16 14:29:33
【问题描述】:

这是微软的另一个奇怪的好奇心。在 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 之外的所有其他浏览器和版本。

【问题讨论】:

  • 对我来说它在 IE8 中运行良好 - 有时是您的问题吗?
  • 介意给我截个图吗?我在 Mac 商店,所以通过 VM 测试 IE。我倾向于提高虚拟机和屏幕刷新率。
  • 这听起来很像 Peekaboo Bug

标签: jquery internet-explorer drupal internet-explorer-8 drupal-7


【解决方案1】:

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

【讨论】:

  • 太好了,谢谢!让我再和一位用户确认一下,然后把你的答案弄得一团糟
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-13
  • 2012-12-09
  • 2023-03-25
  • 1970-01-01
相关资源
最近更新 更多