16

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

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

4

3 回答 3

36

使用 jQuery 的fadeTo()然后有一个回调设置可见性。例子:

$('#fade').on("click", function(){
    $(this).fadeTo(500, 0, function(){
        $(this).css("visibility", "hidden")
    }) // duration, opacity, callback
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<a href="#" id="fade">Click to Fade</a>
<div>This won't move</div>

于 2012-08-29T05:26:38.020 回答
6

只需覆盖回调中的属性

$('Element').on("click", function() {
    $(this).fadeOut(500, function() {
        $(this).css({"display": "block","visibility": "hidden"});  // <-- Style Overwrite 
    }); 
})​
于 2012-09-17T12:21:54.793 回答
6

animate with css opacity 似乎达到了类似的效果。

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

运行同样的 opacity: 1 以淡入。

信用

于 2014-04-21T22:42:51.603 回答