.fadeOut()方法使用显示属性的可见性属性

Cha*_*amp 15 css jquery fadeout

.fadeOut()方法为匹配元素的不透明度设置动画.一旦不透明度达到0,显示样式属性将设置为none,因此该元素不再影响页面的布局,同样适用于fadeIn().

我的问题是他们是否可以使用visibility属性,因此元素占用页面布局中的空间并且不仅仅是可见的?

met*_*ion 34

使用jQuery的fadeTo()然后让回调设置可见性.例:

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

http://jsfiddle.net/7HjB6/


小智 6

刚刚覆盖回调中的属性

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


yuv*_*lio 5

用CSS不透明度进行动画处理似乎可以达到类似的效果。

$('#element').animate({opacity: 0}, 1000);
Run Code Online (Sandbox Code Playgroud)

以不透明度运行相同的效果:1以淡入。

信誉

  • 对于某些用例来说,该解决方案简单而优雅,但值得一提的是,不透明度为零的元素仍然响应事件(单击、按键等)并参与 Tab 键顺序。此策略的警告是它具有可访问性影响。请参阅:http://stackoverflow.com/questions/272360/does-opacity0-have-exactly-the-same-effect-as-visibilityhidden (2认同)