jQuery - лучший способ скрыть элемент? (чтобы элемент не мигал до его фактического скрытия)

Я помню, что в какой-то момент Opera (скорее всего, это был Safari.) имела проблему, которая заключалась в том, что если вы использовали .hide () в элементе, он будет кратковременно мигать, прежде чем он действительно скроет элемент.

Теперь, если вы не хотите игнорировать тех, у кого по какой-то причине нет js в своем браузере, вы не можете использовать CSS для установки display: none; в этом элементе, чтобы скрыть его, а затем использовать js, например, чтобы скрыть его.

Недавно я заметил, что этого больше не происходит в Opera. Итак, я хотел бы знать, происходит ли это еще в некоторых браузерах, если я это пропустил ... И если предположить, что это произойдет. Какой способ сделать это наиболее безопасным? (конечно, игнорируя метод css в этом случае.)

js .hide ()

js .addClass ('hide') css .hide {display: none ; }

Или что-то еще?

Изменить:

js element.style.display = "none"

js $ (element) .css ({display: "none"} )

Edit2: На самом деле эта проблема могла быть в Safari. Я также подумал, что более новые версии jquery, возможно, исправили проблему .. Как я думаю, было несколько отчетов об этой проблеме на веб-сайте jquery, но я не мог найти эти отчеты об ошибках .. Или это все еще может быть эта новая версия браузера исправила это .. Не уверен.


Edit3:

Итак, я действительно нашел намного больше об этом, когда начал искать эту ошибку в Safari, а не в Opera. Хотя я не могу с уверенностью сказать, что этого никогда не было и в опере ...

Похоже, что этой проблемы больше не существует и можно безопасно использовать .hide () , но то, что я стало известно, что этот $ (element) .css ({display: "none"}) действительно устранил проблему, когда проблема все еще существовала.

9
задан Joonas 21 August 2011 в 22:12
поделиться