返回值:jQueryslideDown([duration], [callback])

通过滑动的形式显示元素。

.slideDown() 方法对匹配元素的高度进行动画操作。这会导致页面中,在这个元素下面的内容往下滑。

duration 参数可以提供一个毫秒数,代表动画运行的时间,时间越长动画越慢。还可以提供字符串 'fast''slow' ,分别对应了 200600 毫秒。如果没有设置 duration 参数,或者设置成其他无法识别的字符串,就会使用默认值 400 毫秒。

从 jQuery 1.4.3 起,增加了一个可选的参数,用于确定使用的缓冲函数。缓冲函数确定了动画在不同的位置的速度。jQuery默认只提供两个缓冲效果:swinglinear。更多特效需要使用插件。可以访问 jQuery UI 网站 来获得更多信息。

如果提供了回调函数,那么当动画结束时,会调用这个函数。通常用来几个不同的动画依次完成。这个函数不接受任何参数,但是 this 会设成将要执行动画的那个元素。如果对多个元素设置动画,那么要非常注意,回调函数会在每一个动画完成的元素上都执行一次,而不是对这组动画整体才执行一次。

比如下面这个页面:

<div id="clickme">
  Click here
</div>
<img id="book" src="book.png" alt="" width="100" height="123" />

如果元素一开始是隐藏的,我们可以这样将其缓慢地显现:

$('#clickme').click(function() {
  $('#book').slideDown('slow', function() {
    // 动画完成
  });
});

示例:

用 600 毫秒让所有 div 下滑显示出来。

<!DOCTYPE html>
<html>
<head>
<style>
div { background:#de9a44; margin:3px; width:80px; 
height:40px; display:none; float:left; }
</style>
<script src="jquery.min.js"></script>
</head>
<body>

Click me!
<div></div>
<div></div>
<div></div>

<script>


$(document.body).click(function () {
if ($("div:first").is(":hidden")) {
$("div").slideDown("slow");
} else {
$("div").hide();
}
});



</script>
</body>
</html>
演示:

示例:

用 1000 毫秒让所有文本框组件下滑显示出来。动画完成后改变这些文本框的外观,并让中间的文本框获得输入焦点。

<!DOCTYPE html>
<html>
<head>
<style>
div { background:#cfd; margin:3px; width:50px; 
text-align:center; float:left; cursor:pointer;
border:2px outset black; font-weight:bolder; }
input { display:none; width:120px; float:left; 
margin:10px; }
</style>
<script src="jquery.min.js"></script>
</head>
<body>

<div>Push!</div>
<input type="text" />
<input type="text" class="middle" />

<input type="text" />

<script>


$("div").click(function () {
$(this).css({ borderStyle:"inset", cursor:"wait" });
$("input").slideDown(1000,function(){
$(this).css("border", "2px red inset")
.filter(".middle")
 .css("background", "yellow")
 .focus();
$("div").css("visibility", "hidden");
});
});



</script>
</body>
</html>
演示: