动画CSS显示

有没有办法在jQuery中设置CSS显示属性的动画? 我有以下内容:

$(".maincontent").css("display","block"); 

并希望它做这样的事情:

 $(".maincontent").animate({"display": "block"}, 2500); 

只需使用.show()传递一个参数:

 $(".maincontent").show(2500); 

编辑(根据评论)

上面的代码在2.5秒的范围内淡入元素。 如果您希望延迟2.5秒然后想要显示该元素,请使用以下命令:

 $(".maincontent").delay(2500).fadeIn(); 

当然,如果您想要延迟和更长的淡入淡出,只需将所需的毫秒数传递给每个方法即可。

你可以这样做:

 $("div").css({ "opacity":"0", "display":"block", }).show().animate({opacity:1}) 

示例: http : //jsfiddle.net/charlescarver/g7z6m/

这考虑了display:none ,因为它仍将从页面流中删除,直到调用代码,然后它将显示它,然后将它的不透明度设置为0.然后,当你使用它时,它的不透明度将设置为1打电话给代码。

试试这个(正如我在评论中提到的):

您可以使用.delay()方法。 IE:

 $(".maincontent").delay(2500).show(); 

使用jQuery动画不透明度比显示属性更可行,这里不透明度在1秒内从0到1动画:

 $(".maincontent").animate({opacity:1},1000) 

那么css应该是这样的:

 .maincontent{ opacity: 0; } 

如果您计划在转换前隐藏整个块,则可以使用显示属性。

 .maincontent{ opacity: 0; display: none; } 

然后用动画显示块:

 $(".maincontent").show().animate({opacity:1},1000 function(){ (callback function here) }) 

希望这可以帮助!