CH08-JQuery动画
本章目标
- 掌握jQuery非自定义动画的使用
- 掌握jQuery自定义动画的使用
一、非自定义动画
1、显示和隐藏
show() 和 hide() 在显示和隐藏元素时,能定义显示元素时的效果。
其中显示速度可以取如下值:毫秒(如1000)、slow、normal、fast
绘制如下界面,实现显示和隐藏的动画效果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <script src="js/jquery.min.js"></script> <script> $(function(){ $("#btn1").click(function () { $(".tipsbox").show("slow"); }) $("#btn2").click(function () { $(".tipsbox").hide(3000); }) }) </script> <input type="button" value="缓慢显示" id="btn1" /> <input id="btn2" type="button" value="3秒隐藏" /> <div class="tipsbox" style="display:none;width:200px;border:2px solid red;"> <p>显示和隐藏动画</p> </div>
|
2、上卷下拉
**slideUp()**:通过使用滑动效果,隐藏被选元素
例:点击标题时,将段落中的文字进行上卷隐藏
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <script src="js/jquery.min.js"></script> <style> #title { background-color: blue; color: white; margin:0px; } </style> <script> $(function(){ $("#title").click(function () { $("#content").slideUp("slow"); }); }) </script> <h2 id="title">窗边的小豆豆</h2> <div id="content"> <p>本书讲述了作者上小学的一段真实的故事。</p> <p>这本书给世界千万读者无数的笑声和感动。</p> <p>同时为现代教育的发展注入了新的活力,成为20世纪全球最具影响的作品之一。</p> </div>
|
注:如果元素已经隐藏,则该效果不产生任何变化
**slideDown()**:使用滑动效果,显示隐藏的被选元素
例:首先将内容隐藏,点击标题时,将内容缓慢下拉
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <script src="js/jquery.min.js"></script> <style> #title { background-color: blue; color: white; margin:0px; } </style> <script> $(function(){ $("#title").click(function () { $("#content").slideDown("slow"); }); }) </script> <h2 id="title">窗边的小豆豆</h2> <div id="content" style="display:none"> <p>本书讲述了作者上小学的一段真实的故事。</p> <p>这本书给世界千万读者无数的笑声和感动。</p> <p>同时为现代教育的发展注入了新的活力,成为20世纪全球最具影响的作品之一。</p> </div>
|
注:如果元素已经是完全可见,则该效果不产生任何变化
**slideToggle()**:用滑动效果(高度变化)来切换元素的可见状态。如果被选元素是可见的,则隐藏这些元素,如果被选元素是隐藏的,则显示这些元素。
例:点击标题时,实现上卷和下拉的切换
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <script src="js/jquery.min.js"></script> <style> #title { background-color: blue; color: white; margin:0px; } </style> <script> $(function(){ $("#title").click(function () { $("#content").slideToggle("slow"); }); }) </script> <h2 id="title">窗边的小豆豆</h2> <div id="content"> <p>本书讲述了作者上小学的一段真实的故事。</p> <p>这本书给世界千万读者无数的笑声和感动。</p> <p>同时为现代教育的发展注入了新的活力,成为20世纪全球最具影响的作品之一。</p> </div>
|
3、淡入淡出
**fadeIn()和fadeOut()**:通过改变元素的透明度实现淡入淡出效果,透明度变化的区间是0~1
绘制界面,实现淡入淡出效果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| <script src="js/jquery.min.js"></script> <script> $(function(){ $("#btn_out").click(function () { $("img").fadeOut(1000); }); $("#btn_in").click(function () { $("img").fadeIn("slow"); });
$("#btn_auto").click(function () { $("img").fadeToggle(2000); }); }) </script> <input type="button" value="淡入效果" id="btn_in" /> <input type="button" value="淡出效果" id="btn_out" /> <input type="button" value="自动切换" id="btn_auto" /> <input type="button" value="指定调整" id="btn_user" /> <div> <img src="img/素材.jpg" /> </div>
|
fadeTo:把匹配元素的透明度以渐进方式调整到指定的值
例:以3秒的速度调整图片透明度至0.5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <script src="js/jquery.min.js"></script> <script> $(function(){ $("#btn_user").click(function () { $("img").fadeTo(3000, 0.5); }); }) </script> <input type="button" value="淡入效果" id="btn_in" /> <input type="button" value="淡出效果" id="btn_out" /> <input type="button" value="自动切换" id="btn_auto" /> <input type="button" value="指定调整" id="btn_user" /> <div> <img src="img/素材.jpg" /> </div>
|
二、自定义动画
1、animate()
animate()用于创建自定义动画的函数,其关键在于指定动画形式及结果样式属性对象
语法:$(“selector”).animate({params},speed,easing,callback);
参数:
- params:【必选】该属性包含动画的相关属性及属性值;
- speed: 【可选】动画显示或隐藏的速度,单位毫秒;
- easing: 【可选】设置动画速度的函数,可选参数为“linear”、“swing”;
- callback:【可选】动画结束后执行的函数名;
例:缓慢放大
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <script src="js/jquery.min.js"></script> <script> $(function(){ $("#enlarge2").click(function () { $("#content").animate({ width: "200px", height: +200, fontSize: "200%"}, 2000); }); }) </script> <input type="button" value="缓慢放大" id="enlarge2" /> <div id="content" style="position:absolute;"> <p>jQuery!</p> </div>
|
注:
animate中的height 和width:代表动画的过程中高宽会变成所设置的值,top和left代表动画最终的位置离顶部和左边的距离
同时需指明移动盒子的position属性: absolute或relative
三、课后作业
1.需求说明:
鼠标移过“我的当当”时,出现下拉菜单
鼠标移出时,下拉菜单隐藏鼠标移到下拉菜单时显示橙色的背景和白色的文字
2.需求说明:
单击“我的订单”,显示其下相关内容
单击“我的团购订单”,显示其下相关内容
切换显示其下相关内容时,以速度为1800毫秒的淡入显示
3.使用动画完成文字向上滚动