上一篇博客总结了JQuery的一些基本知识,这篇博客重点从JQuery能够制造各种各样的网页效果方面来进行总结。总结一些常见的常用的基本效果的必备方法。从隐藏显示,淡入淡出,滑动,动画等几个方面来简单总结一下。
一,JQuery实现隐藏显示的功能:
1,jQuery hide() 和 show()
通过 jQuery,您可以使用hide() 和 show() 方法来隐藏和显示 HTML 元素:
2,jQuery toggle()
通过 jQuery,您可以使用toggle() 方法来切换 hide() 和 show() 方法。
3,语法:
$(selector).hide(speed,callback);
$(selector).show(speed,callback);
$(selector).toggle(speed,callback);
可选的speed 参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast" 或毫秒。
可选的callback 参数是隐藏或显示完成后所执行的函数名称。
我用toggle来举个例子:
[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片 <!DOCTYPE html> <html> <head> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("button").click(function(){ $("p").toggle(1000); }); }); </script> </head> <body> <button type="button">切换</button> <p>这是一个段落。</p> <p>这是另一个段落。</p> </body> </html>
二,淡入淡出动画效果功能:
方法名 |
含义 |
语法 |
fadeIn() |
用于淡入已隐藏的元素 |
$(selector).fadeIn(speed,callback); |
fadeout() |
用于淡出可见元素 |
$(selector).fadeOut(speed,callback); |
fadeToggle() |
可以在 fadeIn() 与 fadeOut() 方法之间进行切换 ,和上边的toggle功能一样 |
$(selector).fadeToggle(speed,callback); |
fadeTo() |
允许渐变为给定的不透明度(值介于 0 与 1 之间)。 |
$(selector).fadeTo(speed,opacity,callback); |
我们来拿fadeTo来几个例子:
[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片 <!DOCTYPE html> <html> <head> <script src="/jquery/jquery.js"></script> <script> $(document).ready(function(){ $("button").click(function(){ $("#div1").fadeTo("slow",0.15); $("#div2").fadeTo("slow",0.4); $("#div3").fadeTo("slow",0.7); }); }); </script> </head> <body> <p>演示带有不同参数的 fadeTo() 方法。</p> <button>点击这里,使三个矩形淡出</button> <br><br> <div id="div1" style="80px;height:80px;background-color:red;"></div> <br> <div id="div2" style="80px;height:80px;background-color:green;"></div> <br> <div id="div3" style="80px;height:80px;background-color:blue;"></div> </body> </html>
效果图,大家自己copy一份代码运行来试试看吧!
三,滑动效果的功能,这个大家看一下这几个方法即可了,例子不在举例,和上边的都大同小异:
方法名 |
含义 |
语法 |
slideDown |
用于向下滑动元素 |
$(selector).slideDown(speed,callback); |
slideUp |
用于向上滑动元素 |
同上 |
slideToggle |
如果元素向下滑动,则 slideToggle() 可向上滑动它们。 如果元素向上滑动,则 slideToggle() 可向下滑动它们。 |
同上 |
四,动画效果,这个相对来说好看一下,也复杂一下,不过它仅仅使用了一个方法:
jQuery 动画 - animate() 方法
jQuery animate() 方法用于创建自定义动画。
语法:
$(selector).animate({params},speed,callback);
必需的 params 参数定义形成动画的 CSS 属性。
可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。
可选的 callback 参数是动画完成后所执行的函数名称。
我们来看一个例子:这个例子同时使用了多次amimate方法,使其动画连贯了起来:
[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片 <span style="font-size:18px;"> <!DOCTYPE html> <html> <head> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script> $(document).ready(function(){ $("button").click(function(){ var div=$("div"); div.animate({height:'300px',opacity:'0.4'},"slow"); div.animate({'300px',opacity:'0.8'},"slow"); div.animate({height:'100px',opacity:'0.4'},"slow"); div.animate({'100px',opacity:'0.8'},"slow"); }); }); </script> </head> <body> <button>开始动画</button> <p>默认情况下,所有 HTML 元素的位置都是静态的,并且无法移动。如需对位置进行操作,记得首先把元素的 CSS position 属性设置为 relative、fixed 或 absolute。</p> <div style="background:#98bf21;height:100px;100px;position:absolute;"> </div> </body> </html> </span>
五,几种效果的补充:
上边为我们常见的几种JQuery方便快捷实现的效果,这里再学习几个跟他们相关的几个方法。
1,jQuery stop() 方法:
jQuerystop() 方法用于停止动画或效果,在它们完成之前。
stop()方法适用于所有 jQuery 效果函数,包括滑动、淡入淡出和自定义动画。
语法:
$(selector).stop(stopAll,goToEnd);
解释:
可选的 stopAll 参数规定是否应该清除动画队列。默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行。
可选的 goToEnd 参数规定是否立即完成当前动画。默认是 false。
因此,默认地,stop() 会清除在被选元素上指定的当前动画。
2,上边几种动画方法语法中提到的callback函数,也就是在执行完当前动画以后要执行的函数。一定要现在callback中,否则会出现顺序不正确的结果。这里不再演示。
3,Chaining,也就是链,意思是说可以把我们上边的几种动画连写起来,这样就不需要多次查找相同的元素。看一个例子:
[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片 <span style="font-size:18px;"> <!DOCTYPE html> <html> <head> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script> $(document).ready(function() { $("button").click(function(){ //当然这里换行来写,使其格式看着更漂亮 $("#p1").css("color","red").slideUp(2000).slideDown(2000); }); }); </script> </head> <body> <p id="p1">jQuery 链锁反应</p> <button>点击这里</button> </body> </html> </span>
综上为JQuery实现的几种常见的动画效果,虽然简单,但是非常实用,我们可以通过举一反三来使其达到更好的效果。当然更多效果方法我们可以通过JQuery的API来查询,可以更多的满足我们!!!