在 jQuery 中,我们还可以使用 slideToggle() 方法来“切换”元素的滑动状态。也就是说,如果元素是滑下状态,则可以切换到滑上状态;如果元素是滑上状态,则可以切换到滑下状态。
语法:
speed 是一个可选参数,表示动画的速度,单位为毫秒。如果省略参数,则表示采用默认速度。speed 有两种取值,一种是“字符串”,另一种是“数值”,如表 1 所示。
字符串 | 数值 |
---|---|
slow | 200 |
normal | 400(默认值) |
fast | 600 |
fn 也是一个可选参数,表示动画执行完成后的回调函数。
举例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8" />
- <title></title>
- <style type="text/css">
- div{ width:300px;}
- h3
- {
- text-align:center;
- padding:10px;
- background-color:#EEEEEE;
- }
- h3:hover
- {
- background-color:#DDDDDD;
- cursor:pointer;
- }
- p
- {
- background-color:#F1F1F1;
- padding:8px;
- line-height:24px;
- display:none;
- }
- </style>
- <script src="js/jquery-1.12.4.min.js"></script>
- <script>
- $(function () {
- $("h3").click(function(){
- $("p").slideToggle();
- })
- })
- </script>
- </head>
- <body>
- <div>
- <h3>城东书院简介</h3>
- <p>城东书院成立于 2019 年初,目前已经运营了将近 2 年,我们致力于分享精品教程,帮助对编程感兴趣的读者。我们一直都在坚持的是:认认真真、一丝不苟、以工匠的精神来打磨每一套教程,让读者感受到作者的用心,以及默默投入的时间,由衷地心动和点赞。这样的教程是一件作品,而不是呆板的文字!</p>
- </div>
- </body>
- </html>
默认情况下,预览效果如图 1(a)所示。当我们点击 h3 元素后,p 元素会向下滑动,预览效果如图 1(b)所示。然后再次点击 h3 元素后,p 元素会向上滑动,恢复到最初的样子。
对于滑动效果,如果使用 slideUp() 和 slideDown() 方法来实现,我们需要定义一个变量来标识滑动状态。如果使用 slideToggle() 方法来实现,则不需要多此一举。