如何淡化显示:内联块

Bor*_*ens 96 jquery fade

在我的页面中,我有一堆(大约30个)dom节点应该被添加为不可见,并在它们完全加载时淡入.
元素需要显示:内联块样式.

我想使用jquery .fadeIn()函数.这要求元素最初有一个display:none; 规则最初隐藏它.在fadeIn()之后,元素当然具有默认显示:inherit;

如何使用除继承之外的显示值的淡入淡出功能?

Mak*_*ami 225

$("div").fadeIn().css("display","inline-block");

  • 很棒的答案!更好的是,您可以将它保留为空,默认为CSS中的任何内容:`$("div").fadeIn().css("display","");` (23认同)
  • 奇迹般有效! (5认同)
  • 这绝对是更好的答案. (4认同)
  • 实在的方法! (2认同)

phi*_*ash 39

您可以使用jQuery的animate函数自行更改不透明度,使显示不受影响.

  • @joshuadelange不是真的,不透明也是CSS (12认同)

Mer*_*ent 11

只是为了充实Phil的好主意,这里有一个fadeIn(),它在每个元素中加载淡入淡出,然后依次转换为类.faded,转换为animate():

旧:

$(".faded").each(function(i) {
    $(this).delay(i * 300).fadeIn();
});
Run Code Online (Sandbox Code Playgroud)

新:

$(".faded").each(function(i) {
    $(this).delay(i * 300).css('opacity',0).animate({'opacity': 1}, 500);
});
Run Code Online (Sandbox Code Playgroud)

希望能像我一样帮助另一个jQuery newb :)如果有更好的方法,请告诉我们!


Clo*_*eto 8

Makura的回答对我不起作用,所以我的解决方案是

<div id="div" style="display: none">Some content</div>

$('#div').css('display', 'inline-block').hide().fadeIn();
Run Code Online (Sandbox Code Playgroud)

hide立即应用display: none但在此之前它将当前显示值保存在jQuery数据缓存中,该缓存将由后续动画调用恢复.

所以div开始静态定义为display: none.然后它被设置为inline-block并立即隐藏,只是为了褪色回来inline-block