淡出()是否有不使用display:none作为样式的替代方法?我只想使用隐藏的可见性来避免页面布局发生任何变化?
淡出()是否有不使用display:none作为样式的替代方法?我只想使用隐藏的可见性来避免页面布局发生任何变化?
Answers:
您可以使用.animate()上opacity直接:
$(".selector").animate({ opacity: 0 })
这样,元素仍然像您想要的那样占据空间,它只是具有0不透明性,因此它实际上与visibility: hidden完成时的状态相同。
是的,还有另一种选择。称为.fadeTo(),您可以在其中设置目标不透明度,具体情况为0。
$('element').fadeTo( 1000, 0 ); // fade to "0" with a 1000ms duration
最后不会改变display属性。
自定义动画是一种替代 http://api.jquery.com/animate/
.animate({opacity: 0.0}, 5000, 'linear', callback);
我想先淡出,然后更改内容,然后再淡入:
$("#layer").animate({opacity: 0}, 1000, 'linear', function(){
//Do here any changes to the content (text, colors, etc.)
$("#layer").css('background-color','red'); //For example
$("#layer").animate({opacity: 1}); //FadeIn again
});
visibility: hidden;在完成回调函数中进行设置或类似的设置。