2010-03-01 9 views
0

je le jquery suivant sur mcgillidssa.com pour animer le menu déroulant:jQuery Menu déroulant IE7 problème .slideDown

$(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'); 
    }); 
}); 
}); 

Le code est censé montrer la "ul li ul" lorsque le. L'action de vol stationnaire est appelée. Cela fonctionne absolument bien dans Firefox, Safari, Chrome et IE8, mais ne parvient pas à apparaître dans IE7. Je pensais que le problème était un problème de z-index mais ce n'était pas le cas. Voici le CSS pour référence:

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

Toute pensée à comment cela peut être fixé?

Répondre

0

Je ne sais pas si peut-être que IE est mal interprété cela .... mais cela peut aider à clarifier votre code en général. Définissez votre $ (this) à un var.

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

litem de remplacement pour $ (this) où $ (ce) est #navigation ul li. En outre, est-ce que c'est peut-être le deuxième événement stationnaire qui se produit dans cet événement stationnaire?

1

Le correctif ressemblerait à quelque chose comme

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

IE7 ne affiche pas comme: bloc