锋利的jQuery 要点归纳(三) jQuery中的事件和动画(下:动画篇)


Posted in Javascript onMarch 24, 2010

二、动画
1 show()方法和hide()方法

$("selector").show() 
从display:none还原元素默认或已设置的display属性 
$("selector").hide() 
设置元素的display样式为none,等于$("selector").css("display","none")

(注:传入参数后,.show()和.hide()方法同时动画改变元素的width,height和透明属性;传入参数控制显隐速度,单位毫秒,如.show(600),也可传入fast,normal,slow,fast为200毫秒,normal为400毫秒,slow为600毫秒)
2 fadeIn()方法和fadeOut()方法
$("selector").fadeIn() 
控制透明度在指定时间内从display:none提高至完全显示 
$("selector").fadeOut() 
控制透明度在指定时间内降低至display:none;

3 slideUp()方法和slideDown()方法
$("selector").slideUp() 
控制元素高度在指定时间内从下到上缩短至display:none; 
$("selector").slideDown() 
控制元素高度在指定时间内从display:none延伸至完整高度

4 自定义动画方法animate()
$("selector").animate(params,speed,callback); 
params:一个包含样式属性及值的映射,比如{property1:"value1",property2:"value2",...} 
speed:速度参数,可选 
callback:在动画完成时执行的参数(即回调函数),可选

常见的动画例子
<script> 
//自定义动画的例子 
$(function(){ 
$("selector").click(function(){ 
$(this).animate({left:"500px"},3000); //selector在3秒内向右移动500px 
}); 
}) 
</script>

<script> 
//累加、累减动画的例子 
$(function(){ 
$("selector").click(function(){ 
$(this).animate({left:"+=500px"},3000); //连续触发click事件时,在当前位置累加500px 
}); 
}) 
</script> 
<script> 
//多重动画的例子 
$(function(){ 
$("selector").click(function(){ 
$(this).animate({left:"500px",top:"300px",height:"+=100px"},3000); //向右下30度方向运动,同时增加高度 
}); 
}) 
</script> 
<script> 
//按顺序执行多个动画的例子 
$(function(){ 
$("selector").click(function(){ 
$(this).animate({left:"500px"},3000).animate({top:"300px"},3000); //动画队列 
}); 
}) 
</script>

5 动画回调函数
因css()方法不会加入动画队列中,则会马上执行。如若要在动画最后改变selector的css,需要利用回调函数
例:
<script> 
$("selector").click(function(){ 
$(this).animate({property1:"value1"},time).animate({property2:"value2"},time,function(){ 
$(this).css("property3","value3"); //css()方法利用回调函数加入动画队列 
}); 
}) 
</script>

(注:动画回调函数适用于jQuery所有的动画效果方法)
6 停止动画和判断是否处于动画状态
$("selector").stop()
结束当前动画,如队列中存在下一个动画则立即执行下一个动画,格式$("selector").stop([clearQueue][,gotoEnd])
切换动画的例子:
<script> 
$("selector").hover(function(){ 
$(this).stop().animate(); 
},function(){ 
$(this).stop().animate(); 
}) 
</script>

clearQueue参数设置为true时,将清空当前元素接下来尚未执行完的动画队列
例:
<script> 
$("selector").hover(function(){ 
$(this).stop(true).animate().animate() //如此时触发光标移出事件,直接跳过后面的动画队列,避免执行本队列第二个动画 
},function(){ 
$(this).stop(true).animate().animate() 
}) 
</script>

gotoEnd参数设置为true时,可将正在执行的动画直接到达结束时刻的状态
is(":animated")
判断元素是否处于动画状态,可用于防止动画累积
例:
<script> 
if(!$("selector").is(":animated")){ //判断元素是否正处于动画状态 
//如果当前没有进行动画,则添加新动画 
} 
</script>

7 其他动画方法
3个专门用于交互的动画方法:toggle(speed,[callback]); slideToggle(speed,[callback]); fadeTo(speed,opacity,[callback])
$("selector").toggle() 
切换元素的可见状态,如元素隐藏则切换为可见,反之亦然 
$("selector").slideToggle() 
通过高度变化来切换元素的可见性 
$("selector").fadeTo() 
把元素的不透明度以渐进方式调整到指定的值,如$("selector").fadeTo(600,0.2);以600毫秒速度将内容调整到20%透明度

8 动画方法概括
toggle()用来代替hide()和show() 
slideToggle()用来代替slideUp()和slideDown() 
animate()可代替所有动画方法
Javascript 相关文章推荐
Jquery 基础学习笔记之文档处理
May 29 Javascript
javawscript 三级菜单的实现原理
Jul 01 Javascript
javascript父、子页面交互技巧总结
Aug 08 Javascript
jquery实现简单的表单验证
Nov 17 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
Mar 19 Javascript
检查表单元素的值是否为空的实例代码
Jun 16 Javascript
jQuery使用正则表达式限制文本框只能输入数字
Jun 18 Javascript
原生js实现倒计时功能(多种格式调用)
Jan 12 Javascript
微信小程序中的onLoad详解及简单实例
Apr 05 Javascript
实例详解vue.js浅度监听和深度监听及watch用法
Aug 16 Javascript
深入学习Vue nextTick的用法及原理
Oct 08 Javascript
vue+axios 拦截器实现统一token的案例
Sep 11 Javascript
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)
Mar 24 #Javascript
jQuery AJAX 调用WebService实现代码
Mar 24 #Javascript
jquery 仿QQ校友的DIV模拟窗口效果源码
Mar 24 #Javascript
Javascript中Eval函数的使用
Mar 23 #Javascript
JavaScript Eval 函数使用
Mar 23 #Javascript
js本身的局限性 别让javascript做太多事
Mar 23 #Javascript
js parentElement和offsetParent之间的区别
Mar 23 #Javascript
You might like
BBS(php &amp; mysql)完整版(八)
2006/10/09 PHP
PHP编程基本语法快速入门手册
2016/01/07 PHP
PHP的swoole扩展安装方法详细教程
2016/05/18 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
2017/02/17 PHP
利用PHP判断是手机移动端还是PC端访问的函数示例
2017/12/14 PHP
用PHP做了一个领取优惠券活动的示例代码
2019/07/05 PHP
php的优点总结 php有哪些优点
2019/07/19 PHP
json 定义
2008/06/10 Javascript
Extjs学习笔记之三 extjs form更多的表单项
2010/01/07 Javascript
JavaScript调用客户端的可执行文件(示例代码)
2013/11/28 Javascript
js读取cookie方法总结
2014/10/31 Javascript
jquery简单实现幻灯片的方法
2015/08/03 Javascript
jQuery网页右侧广告跟随滚动代码分享
2020/04/20 Javascript
javascript实现表单验证
2016/01/29 Javascript
jQuery模拟Marquee实现无缝滚动效果完整实例
2016/09/29 Javascript
jQuery控制元素隐藏和显示
2017/03/03 Javascript
分享5个好用的javascript文件上传插件
2018/09/16 Javascript
vue中使用微信公众号js-sdk踩坑记录
2019/03/29 Javascript
vue3.0中使用postcss-pxtorem的具体方法
2019/11/20 Javascript
js实现html滑动图片拼图验证
2020/06/24 Javascript
JavaScript中如何调用Java方法
2020/09/16 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队LGD晋级之路
2018/04/07 DOTA
Python 对象中的数据类型
2017/05/13 Python
Python面向对象类继承和组合实例分析
2018/05/28 Python
详解numpy矩阵的创建与数据类型
2019/10/18 Python
python绘制无向图度分布曲线示例
2019/11/22 Python
Python实现一个优先级队列的方法
2020/07/31 Python
欧洲领先的火车票和大巴票预订平台:Trainline
2018/12/26 全球购物
给男朋友的道歉信
2014/01/12 职场文书
《邮票齿孔的故事》教学反思
2014/02/22 职场文书
学习保证书范文
2014/04/30 职场文书
教师党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
会计人员岗位职责
2015/02/03 职场文书
python 对图片进行简单的处理
2021/06/23 Python
Python中使用Opencv开发停车位计数器功能
2022/04/04 Python
Shell中的单中括号和双中括号的用法详解
2022/12/24 Servers