Answers:
$("div").fadeIn().css("display","inline-block");
$("div").fadeIn().css("display","");
$("div").fadeIn("400", function(){ $(this).css("display","inline-block"); });
确保在淡入完成时完成display:inline-block
只是为了充实Phil的好主意,这是一个fadeIn(),它使用.faded类依次加载每个元素中的淡入淡出,并转换为animate():
旧:
$(".faded").each(function(i) {
$(this).delay(i * 300).fadeIn();
});
新:
$(".faded").each(function(i) {
$(this).delay(i * 300).css('opacity',0).animate({'opacity': 1}, 500);
});
希望对像我这样的另一个jQuery newb有所帮助:)如果有更好的方法,请告诉我们!
Makura的答案对我不起作用,所以我的解决方案是
<div id="div" style="display: none">Some content</div>
$('#div').css('display', 'inline-block').hide().fadeIn();
hide
立即应用,display: none
但在此之前它将当前显示值保存在jQuery数据缓存中,随后的动画调用将恢复该显示值。
因此,div
起始静态定义为display: none
。然后将其设置为,inline-block
并立即隐藏起来,以淡出inline-block
即使使用display:none
CSS预设也可以使用。用
$('#element').fadeIn().addClass('displaytype');
(也$('#element').fadeOut().removeClass('displaytype');
)
在CSS中进行设置:
#element.displaytype{display:inline-block;}
我认为这是一种变通方法,因为我认为fadeIn()
应该起作用,这样它才可以删除最后一个规则- display:none
设置为时,#element{display:inline-block;display:none;}
但会错误地删除这两个规则。