JQuery fadeIn() на дисплее нет

У меня есть div, где я сделал $('#div').css('display', 'none');

Теперь, чтобы вернуть этот элемент, я хочу, чтобы он исчезал. Однако, похоже, что $('#div').fadeIn() не делает этого, но я не хочу, чтобы отображение отображалось на блок, как будто я делаю это просто снова появляется мгновенно, а не исчезает.. любые идеи?

Ответ 1

Попробуйте

$('#div').hide();

чтобы скрыть элемент.

Обновление: Я предложил это, потому что возникла проблема с установкой .css('display', 'none') в body в Firefox. Но он должен работать и для других элементов.

Но если он не работает с hide(), то у вас определенно есть другая проблема, и вам нужно разместить больше кода или предоставить демонстрационную версию.

В каком браузере это происходит? Вы уверены, что выполнено $('#div').fadeIn()?

Ответ 2

4 года слишком поздно, но я надеюсь, что это поможет хотя бы кому-то помочь.

Вам нужно сначала изменить класс CSS с помощью jquery на visibility:hidden, а затем применить функцию fade в функции. Вы можете объединить их в одну и ту же функцию или запустить их отдельно. В любом случае вы должны увидеть, как элемент просто исчезает, как ожидалось.

Ответ 3

Попробуйте

$('#div').hide();

вместо

display:none;

Ответ 4

Просто добавьте опцию скорости;

$('#div').fadeIn(1000);

Это работает для меня...

Ответ 5

У меня была аналогичная проблема, вызванная набором CSS для элемента и его :hover.

-webkit-transition: all 0.3s linear;
-moz-transition: all 0.3s ease;
-ms-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all 0.3s ease;

Я удалил эти строки выше, и, наконец, jquery fadeIn() работал безупречно.

Также убедитесь, что вы не используете display:none !important;

И да, вам нужно только установить CSS display:none;, а затем использовать fadeIn().