如何淡入显示:inline-block
在我的页面中,我有一堆(约30)dom节点,应该添加不可见,并在完全加载时淡入。
这些元素需要显示:内联块风格。
我想使用jquery.fadeIn()函数。 这要求元素最初有一个显示:无; 规则最初隐藏它。 在fadeIn()之后,当然元素有默认的显示:inherit;
我如何使用淡入淡出function的显示值而不是inheritance?
你可以使用jQuery的animation函数来改变自己的不透明度,不会影响显示。
$("div").fadeIn().css("display","inline-block");
为了充实Phil的好主意,下面是一个fadeIn(),它在每个元素中加载淡入淡出,然后依次转换为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数据caching中,后续animation调用将恢复该值。
所以div
开始静态定义为display: none
。 然后,它被设置为inline-block
并立即隐藏,只是褪色回到inline-block
根据.show()
的jQuery文档 ,
如果一个元素有一个内联的显示值,然后被隐藏并显示,它将再一次被内联显示。
所以我对这个问题的解决scheme是将一个CSS规则应用到类的显示:内联块的元素,然后我添加了另一个类叫“隐藏”,它适用于显示:无; 当我在元素上显示.show()
时,它显示为内联。