jQuery使用手册之动态效果(6)
jQuery一直以来在效果外面口碑都不错一直以来jquery的插件很丰富,一些很好的效果,比如我写过fat.js的渐变褪色淡入淡出效果,在新版本的jquery1.2中,可以很方便的用
$("#go").click(function(){$(".block").animate( { backgroundColor: 'pink' }, 1000)
.animate( { backgroundColor: 'blue' }, 1000);
}); 来实现,效果很不错,可以在官方看到演示
另外jquery的插件频道改版了之后,个人感觉好了很多,
在将这部分之前我们先看个例子,相信做网页的朋友都遇到n级菜单的情景,但点击某菜单按钮时,如果它的子菜单是显示的,则隐藏子菜单,如果子菜单隐藏,则显示出来,jQuery实现上面效果只需要1句话就行,$("#a").toggle("slow"),传统的javascript做法是先用getElementById取出子菜单所在容器的id,在判断该容器的style.display是否等于none,如果等于则设为block,如果不等于这设为none,如果在将效果设置复杂一点,当点击按钮时,不是忽然隐藏和显示子菜单,而是高度平滑的转变,这时就要通过setTimeout来设置子菜单的height了,再复杂一点透明度也平滑的消失和显现,这时显现下来需要编写很多代码,如果js基础不好的朋友可能只能从别人写好的代码拿过来修改了!,学完jQuery后还需要抄袭修改别人的代码吗?下面我们逐个介绍jQuery用于效果处理的方法。
- hide() 隐藏匹配对象 <p id="a">Hello Again</p><a href="#" onClick=’ ("#a").hide()’>jQuery</a>当点击连接时,id为a的对象的display变为none。
- show() 显示匹配对象
- hide(speed) 以一定的速度隐藏匹配对象,其大小(长宽)和透明度都逐渐变化到0,speed有3级("slow", "normal", "fast"),也可以是自定义的速度。
- show(speed) 以一定的速度显示匹配对象,其大小(长宽)和透明度都由0逐渐变化到正常
- hide(speed, callback) show(speed, callback) 当显示和隐藏变化结束后执行函数callback
- toggle() toggle(speed) 如果当前匹配对象隐藏,则显示他们,如果当前是显示的,就隐藏,toggle(speed),其大小(长宽)和透明度都随之逐渐变化。 <img src="1.jpg" style="width:150px"/><a href="#" onClick='$("img").toggle("slow")'>jQuery</a>
- fadeIn(speeds) fadeOut(speeds) 根据速度调整透明度来显示或隐藏匹配对象,注意有别于hide(speed)和show(speed),fadeIn和fadeOut都只调整透明度,不调整大小
<img src="1.jpg" style="display:none"/><a href="#" onClick='$("img ").fadeIn("slow")'> jQuery </a>
点击连接后可以看到图片逐渐显示。
- fadeIn(speed, callback) fadeOut(speed, callback) callback为函数,先通过调整透明度来显示或隐藏匹配对象,当调整结束后执行callback函数
<img src="1.jpg"/><a href="#" onClick='$("img ").fadeIn("slow",function(){ alert("Animation Done."); })'> jQuery </a>
点击连接后可以看到图片逐渐显示,显示完全后弹出对话框
- fadeTo(speed, opacity, callback) 将匹配对象以speed速度调整倒透明度opacity,然后执行函数callback。Opacity为最终显示的透明度(0-1).
<img src="1.jpg"/>
<a href="#" onClick='$("img ").fadeTo("slow",0.55,function(){ alert("Animation Done."); })'> jQuery </a> 大家可以看一下自己看看效果,如果不用jQuery,编写原始javascript脚本可能很多代码!
- slideDown(speeds) 将匹配对象的高度由0以指定速率平滑的变化到正常!
<img src="1.jpg" style="display:none"/>
[*]<a href="#" onClick='$("img ").slideDown("slow")'>jQuery</a> - slideDown(speeds,callback) 将匹配对象的高度由0变化到正常!变化结束后执行函数callback
- slideUp("slow") slideUp(speed, callback) 匹配对象的高度由正常变化到0
- slideToggle("slow") 如果匹配对象的高度正常则逐渐变化到0,若为0,则逐渐变化到正常