Если вы заранее не знаете высоту элемента, это немного сложнее.Вы должны анимировать прозрачность непосредственно, чтобы исчезнуть, и вы должны скрыть контент с видимостью CSS, пока он «скользит».
Видимость CSS «скрытый» позволяет контенту занимать место в документе, как обычно, но быть скрытым от просмотра;CSS-дисплей «none» не просто скрывает элемент, он удаляет его из потока документов.Скрывая элемент с помощью видимости, мы можем сдвинуть его вниз, пока он не достигнет полной высоты, в то время как содержимое элемента остается невидимым.
Точно так же, для исчезающего содержимого в функции jadeu fadeIn предполагается, что элемент изначально скрыт с помощьюотобразить «нет», поэтому он не будет работать, если мы используем видимость.Вместо этого мы делаем элемент изначально полностью прозрачным (непрозрачность 0.0);когда анимация скольжения завершена, мы устанавливаем видимость «видимым», а затем анимируем непрозрачность с полностью прозрачного до полностью непрозрачного (от 0,0 до 1,0).
Предполагая, что элемент изначально скрыт (CSS отображает «нет» илиФункция jQuery hide):
$(element).css("visibility", "hidden").slideDown("slow", function() {
$(this).css("opacity", 0.0).css("visibility", "visible").animate({
"opacity": 1.0
}, "slow");
});
Примечание: будьте особенно внимательны, набирая «видимость» и «видимый», так как они легко написаны с ошибками - источник многих неприятных ошибок.
Вы неt ДОЛЖНЫ использовать видимость, поскольку вы можете сделать то же самое, сделав контент изначально прозрачным, но используя его, вы сделаете более ясным, что происходит.То есть это тоже работает:
$(element).css("opacity", 0.0).slideDown("slow", function() {
$(this).animate({
"opacity": 1.0
}, "slow");
});