Выпадающее меню jQuery IE7 Проблема с .slideDown - PullRequest
0 голосов
/ 02 марта 2010

У меня есть следующий jquery на mcgillidssa.com для анимации выпадающего меню:

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

Код должен показывать "ul li ul" при вызове действия .hover. Это прекрасно работает в Firefox, Safari, Chrome и IE8, но не отображается в IE7. Я думал, что проблема была проблемой z-index, но это не имело место. Вот CSS для справки:

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

Есть мысли, как это можно исправить?

Ответы [ 2 ]

1 голос
/ 15 июля 2010

Исправление будет выглядеть примерно так:

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

IE7 не нравится отображение: блок

0 голосов
/ 02 марта 2010

Не уверен, что, может быть, IE неправильно истолковывает это .... но это может помочь прояснить ваш код в целом.Установите для $ (this) значение var.

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

Замените lItem на $ (this), где $ (this) равно #navigation ul li.

Возможно, это второе зависаниесобытие, происходящее в этом парящем событии?

...