Метод .fadeOut() для использования свойства видимости вместо свойства отображения

Метод .fadeOut() анимирует непрозрачность сопоставляемых элементов. Когда непрозрачность достигает 0, свойство стиля отображения становится равным none, поэтому элемент больше не влияет на макет страницы, как и для fadeIn().

Мой вопрос заключается в том, могут ли они использовать свойство видимости, чтобы они занимали место в макете страницы, а не просто видны?

Ответ 1

Используйте jQuery fadeTo(), а затем обратный вызов задает видимость. Пример:

$('selector').fadeTo(500, 0, function(){
   $('selector').css("visibility", "hidden");   
}); // duration, opacity, callback

http://jsfiddle.net/7HjB6/

Ответ 2

Просто запишите свойство в обратном вызове

$('Element').on("click", function() {
    $(this).fadeOut(500, function() {
        $(this).css({"display": "block","visibility": "hidden"});  // <-- Style Overwrite 
    }); 
})​

Ответ 3

Анимация с непрозрачностью css, похоже, достигает аналогичного эффекта.

$('#element').animate({opacity: 0}, 1000);

Запустите то же самое с непрозрачностью: 1, чтобы вернуться обратно.

Кредит.