6

请我确认我这样做是正确的:

我有一条消息希望在显示后淡出。

jQuery fadeOut 设置 display: none 一旦不透明度为零。

因此,当我想通过设置 visibility: visible 再次显示相同的消息时,消息将不会显示,因为 display: none 仍然设置。

所以这就是我所做的:

        $("#message6").fadeOut(600, function(){
            $("#message6").css("display","");
            $("#message6").css("visibility","hidden");              
        });

这工作得很好。看起来不是很优雅。

我在这里错过了什么吗?有没有一种巧妙的方法来做到这一点?

4

3 回答 3

12

你为什么不这样做:

$("#message6").fadeOut(600);

并再次显示您的信息:

$("#message6").show();
于 2012-11-05T08:56:07.450 回答
1

为什么不这样

$(document).ready(function() {
        $('#myLabel').fadeOut(1000, function() {
            $(this).html(""); //reset the label after fadeout
        });
    });​

样本

于 2012-11-05T08:56:01.243 回答
0

我一直对 jQuery.fadeIn().fadeOut()方法有奇怪的问题,所以通常我只是为不透明度设置动画。如果您只是隐藏和展示事物,那么这种方法没有任何问题。

$('#message6').animate({opacity:0}, 200);

如果您不想要任何类型的淡入淡出动画,您可以只使用.hide()and.show()方法,或.css({opacity:0}),或.animate()具有0动画持续时间的方法。

于 2012-11-05T08:55:39.683 回答