我尝试淡入一个具有display:inline-block属性的div。
但是似乎fadeIn方法只支持display=block属性。
有没有办法改变这种行为?
我尝试淡入一个具有display:inline-block属性的div。
但是似乎fadeIn方法只支持display=block属性。
有没有办法改变这种行为?
从我上面阅读的内容中综合起来,这是我得到的最佳答案:
$(div).css({
opacity: 0,
display: 'inline-block'
}).animate({opacity:1},600);
inline-block
元素内部再加一层元素,并淡入该元素。<div style='display:inline-block;'>
<div id='fadmein'>....</div>
</div>
$('#fademein').fadeIn();
我知道这是多余的标记,但这可能是解决问题最实用的方法。
另一种选择是使用JQuery的animate()
方法来改变透明度,而不是使用fadeIn()
。这将只更改opacity
属性,因此display
属性将保持不变。
block
并浮动它。inline-block
,那是因为你试图避免浮动。 - Spudley
display:block;
,然后在动画结束后再改回display:inline-block
。所以我认为这不会起作用。不过还是值得一试的,所以给一个+1。 - SpudleyfadeIn("fast").css({'display':'inline-block'})
,它不会导致我的布局跳来跳去。我认为它是在淡入完成之前设置了显示属性。另外,由于IE7不知道如何解释inline-block
,我正在检查html
是否有一个ie7
类,然后设置.css({'display':'inline','zoom':'1'})
。 - WNRosenberg.css("display","inline-block")
不会在动画之后排队运行,它会在动画开始时立即执行。 - antishok