对于显示的元素,在将其隐藏的过程中,可以对其进行一些变化的动画效果。之前学过了hide方法,hide方法在显示的过程中也可以有动画,但 是.hide()方法将为匹配元素的宽度,高度,以及不透明度,同时进行动画操作。这里将要学习一个新的显示方法slideUp方法
最简单的使用:不带参数
$("elem").slideUp();
这个使用的含义就是:找到元素的高度,然后采用一个下滑动画让元素一直滑到隐藏,当高度为0的时候,也就是不可见的时,修改元素display 样式属性被设置为none。这样就能确保这个元素不会影响页面布局了
带参数:
.slideUp( [duration ] [, easing ] [, complete ] )
同样可以提供一个时间,然后可以使用一种过渡使用哪种缓动函数,jQuery默认就2种,可以通过下载插件支持。最后一个动画结束的回调方法。
因为动画是异步的,所以要在动画之后执行某些操作就必须要写到回调函数里面,这里要特别注意
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title></title> <style> .left div, .right div { width: 100%; height: 50px; padding: 5px; margin: 5px; float: left; border: 1px solid #ccc; } .left div { background: #bbffaa; } .right div { background: yellow; } </style> <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script> </head> <body> <h2>slideUp</h2> <div class="left"> <h4>测试一</h4> <div id="a1"></div> <button>点击slideUp隐藏动画</button> </div> <script type="text/javascript"> //点击button //执行3秒隐藏 //执行3秒显示 $("button:first").click(function() { $("#a1").slideUp(3000) }); </script> <div class="right"> <h4>测试二</h4> <div id="a2"></div> <button>点击slideUp执行回调</button> </div> <script type="text/javascript"> //点击button //执行3秒隐藏 //执行3秒显示 $("button:last").click(function() { $("#a2").slideUp(3000,function(){ alert('动画执行结束') }) }); </script> </body> </html>