jQuery SlideDown мерцает в Firefox - PullRequest
4 голосов
/ 24 мая 2010

еще раз jQuery, проблема мерцания Firefox. (без мерцания в IE6 / 7/8, Safari)

Я загрузил пример страницы здесь: http://sithlord.bplaced.net/testing/jquery_flickering/flickering.html

Есть два контейнера div. Внутренний div - это тот, который я прячу. Внешний - это контейнер с элементами стиля. Я обнаружил, что мерцание возникает только в окне выбора. Без SelectBox нет мерцания.

Но это еще не все: (Я не могу опубликовать вторую гиперссылку: это та же ссылка, что и выше; измените только «flickering.html» на not_flickering.html)

В этом случае я выбрал более низкую «опцию» - как видите, мерцание в этом случае исчезает. То же самое происходит, когда вариантов меньше. (менее 20)

Единственный обходной путь, который я нашел, - это удаление окна выбора:)

Есть идеи, почему это происходит и как это исправить?

Спасибо!

Ответы [ 4 ]

5 голосов
/ 23 ноября 2010

переполнение: скрытый; применяется непосредственно к работам, содержащим Div.

0 голосов
/ 01 декабря 2010

Я немного опоздал с этим, но столкнулся с подобной проблемой. Мое решение: установить display: none для select до анимации, а затем display: block after. Пример:

 $("div#hidden").hide();
  $("a").click(function(e) {
    e.preventDefault();
    $("div#hidden select").css('display','none');
    $("div#hidden").slideDown(1000);
    $("div#hidden select").css('display','block');
    });
});

Вы также можете использовать функции jquery show / hide, если хотите.

0 голосов
/ 12 октября 2010

Пожалуйста, посмотрите http://dev.jquery.com/ticket/5743, почему такие вещи обычно возможны с jQuery. Вкратце, хотя функция css без параметров утверждает, что она возвращает только значения без каких-либо обновлений, в некоторых случаях она фактически обновляет DOM.

0 голосов
/ 24 мая 2010

Нашел сообщение . Попробуйте установить ширину или высоту скрытого элемента. Я заметил, что у вас нет стилей в ваших div'ах, так что возможно это сработает.

Метрополис

...