1.基本效果
匹配元素从左上角开始变浓变大或缩小到左上角变淡变小
①隐藏元素
除了可以设置匹配元素的display:none外,可以用以下函数
hide(speed,[callback])
slow=600毫秒
以优雅的动画隐藏所有匹配的元素,并在隐藏完成后可选的触发一个回调函数。
②显示元素
show(speed,[callback])
③交替显示隐藏
toggle(speed,[callback])
$(function(){
$("#hide1").click(function(){$("#1").hide(700)});
$("#show1").click(function(){$("#1").show(700)});
$("#toggle1").click(function(){$("#1").toggle(700)});
})
2.滑动效果
①向上收缩效果
slideUp(speed,[callback])
②向下展开效果
slideDown(speed,[callback])
③交替伸缩效果
slideToggle(speed,[callback])
$("#slideup1").click(function(){$("#1").slideUp(700)});
$("#slidedown2").click(function(){$("#1").slideDown(700)});
$("#slidetoggle").click(function(){$("#1").slideToggle(700)});
3.淡入淡出效果
通过控制匹配元素的不透明度来实现元素的显示与隐藏
①淡入效果
fadeIn(speed,[callback])
$("#fadein").click(function(){$("#1").fadeIn("slow")});
②淡出效果
fadeOut(speed,[callback])
③自定义不透明度
淡入或淡出的最终结果为自定义的透明度
fadeTo(speed,opacity,[callback])
4.自定义动画效果
①自定义动画
animate(params,duration,[easing],[callback])
这个函数可不像看上去那么简单,有几点需注意1.既然该函数是将匹配元素从原来样子变化成函数中params参数中设置的样子,那么就必须有原来的样子,即params中设置的样式属性必须在原来的样子中有设置过,不能本来没有设置border,却在params中这样设置{borderStyle:"solid",borderWidth:"1px"}
$(function(){
$("#3").mouseover(function(){$(this).stop().animate({left:"0px"})
}).mouseout(function(){$(this).stop().animate({left:"-180px"},3000)})
})
http://blog.sina.com.cn/s/blog_6168f0090100el4p.html
以上实现了我们经常在网页上见的滑动框的效果,一开始框在浏览器左侧露出20px,当鼠标滑到上面时框全部露出,鼠标滑出框时框又只露出20px, 我们看到params中的样式属性都出现在了"原来的样子中-style属性中"。另外对于位置变化的动画效果,要先给元素定位,如本处的position:absolute。这个例子中另外一个需要注意的是stop()函数:停止所有在指定元素上正在运行的动画。http://www.w3school.com.cn/jquery/effect_stop.asp
$("#3").mouseover(function(){$(this).stop().animate({height:"toggle","width:"toggle"})})
如上样式属性值设成toggle的话表示在有和无之间进行切换
②jQuery动画队列
把针对某个匹配元素的多个动画操作放入一个队列中进行管理,这是默认设置,这样队列中的动画会按先后顺序一个一个执行
如果不希望某个动画按顺序执行,而是希望它最先执行,可以如下设置animate()函数,这是animate函数的有一种写法,它将除parmas以外的参数也用一个json对象来表示
$("#id").animate(parmas,{queue:false,duration:1000}).animate(parmas,{queue:false,duration:1000})
以上俩动画会同时执行,总耗时1秒,而
$("#id").animate(parmas,{duration:1000}).animate(parmas,{duration:1000})
这俩动画会一个一个执行,总耗时2秒
以上所讲的所有动画函数均属于动画队列函数
http://hi.baidu.com/chougood/blog/item/350421338b4156f31a4cff11
它们可以被队列控制函数所控制http://www.w3school.com.cn/jquery/jquery_ref_queue.asp
当然队列控制函数不仅仅只能控制动画队列函数,也能控制其他普通函数
如队列控制函数queue()函数
http://shawphy.com/2009/04/how-to-use-queue-and-dequeue.html
http://mrthink.net/jqueryapi-queue-dequeue/
补:
delay(duration,[queueName])