在不改变页面布局的情况下淡入淡出元素

lar*_*ars 60 css jquery layout

使用正常的行为时,fadeIn以及fadeOut是使用display属性.但是,这会更改页面的布局.

如何制作fadeInfadeOut不是修改页面布局?

Gab*_*oli 72

而不是.fadeIn()你可以.animate({opacity:1})
而不是.fadeOut()你可以.animate({opacity:0})

  • 在为不透明度设置动画时,单击元素仍会触发事件处理程序.使用`visibility:hidden`,事件不会被触发. (2认同)

ick*_*fay 25

你可以尝试这个fadeOut:

$("something here").fadeOut("slow", function() {
    $(this).show().css({visibility: "hidden"});
});
Run Code Online (Sandbox Code Playgroud)

......这个用于fadeIn:

$("something here").hide().css({visibility: "visible"}).fadeIn("slow");
Run Code Online (Sandbox Code Playgroud)


小智 18

使用fadeTo:

.fadeTo()方法动画化匹配元素的不透明度.它与.fadeIn()方法类似,但该方法取消隐藏元素并始终淡化为100%不透明度.

持续时间以毫秒为单位; 值越高表示动画越慢,而动画越快.可以提供字符串'fast'并分别'slow'指示持续时间200600毫秒.如果提供了任何其他字符串,则使用默认的400毫秒持续时间.与其他效果方法不同,.fadeTo()需要duration明确指定.

如果提供,则动画完成后将触发回调...