jQuery下拉菜单IE7 .slideDown问题

时间:2010-03-01 21:50:49

标签: jquery css xhtml internet-explorer-7 drop-down-menu

我在mcgillidssa.com上有以下jquery来为下拉菜单设置动画:

$(document).ready(function() { 
 $("#navigation ul li").hover(function() {
  $(this).addClass("over");
  $(this).find("ul").slideDown('fast').show();
  $(this).hover(function() {
  }, function(){
   $(this).removeClass("over");
   $(this).find("ul").slideUp('fast');
  });
 });
}); 

当调用.hover操作时,代码应该显示“ul li ul”。这在Firefox,Safari,Chrome和IE8中运行得非常好,但未能在IE7中出现。我认为问题是z索引问题但事实并非如此。这是CSS的参考:

http://www.mcgillidssa.com/wp-content/themes/midssa/style.css

有关如何解决这个问题的想法吗?

2 个答案:

答案 0 :(得分:1)

修复程序看起来像

$("ul").slideDown(function(){ $(this).css('display', 'inline-block') });

IE7不喜欢display:block

答案 1 :(得分:0)

不确定IE是否误解了这个......但这有助于澄清您的代码。将$(this)设置为var。

var lItem = $(this); //list item

替换lItem为$(this),其中$(this)为#navigation ul li

相关地,是否可能是该悬停事件中的第二个悬停事件?