自CSS3以来,主流网站开始偏向于扁平风格和动画效果,这时就可以jQuery的动画就可以发挥其长处了,灵活的应用其动画API,让我们可以设计出很多绚丽的效果。下面,让我们来列举一些jQuery常用的动画API。

  

1、show()和hide()方法

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

(注:传入参数后,.show()和.hide()方法同时动画改变元素的width,height和透明属性;传入参数控制显隐速度,单位毫秒,如.show(600),也可传入fast,normal,slow,fast为200毫秒,normal为400毫秒,slow为600毫秒.)

2、fadeIn()方法和fadeOut()方法

用法同show()、hide(),也可以在里面传参数。

3、slideUp()方法和slideDown()方法

用法同show()、hide(),也可以在里面传参数。

4、自定义动画方法animate()

 用法1:

 //语法:
$("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([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(600,0.2);以600毫秒速度将内容调整到20%透明度
$("selector").fadeTo()

8、 动画方法概括

toggle()用来代替hide()和show() .

slideToggle()用来代替slideUp()和slideDown() .

animate()可代替所有动画方法 .

到此完结,看完最后一句有没有觉得前面的都白看的,哈哈。其实,各有各的好处,别让animate()太累了!

  

jQuery中的动画——《锋利的JQuery》的更多相关文章

  1. jQuery中的动画理论干货

    [jQuery中的动画] 通过jQuery动画能够轻松地为页面添加精彩的视觉效果 [show()方法和hide()方法]1.show()方法和hide()方法是jQUERY中最基本的动画方法,相当于在 ...

  2. 第五章 jQuery中的动画

    通过jQuery中的动画方法,能轻松地为网页添加精彩的视觉效果,给用户一种全新体验. 1.show()方法和hide()方法 该方法的功能与css()方法设置display属性效果相同. 给show( ...

  3. jQuery学习笔记(四)jQuery中的动画

    目录 show()方法和hide()方法 fideIn()方法和fadeOut()方法 slideUp方法和slideDown()方法 自定义动画方法animate toogle(),slideTog ...

  4. jQuery中animate动画第二次点击事件没反应

    jQuery中animate动画第二次点击事件没反应 用animate做点击翻页动画时发现第二次点击事件动画没反应,而第一次点击有动画效果,代码如下: 复制代码 代码如下: $(".page ...

  5. 史上最全的CSS hack方式一览 jQuery 图片轮播的代码分离 JQuery中的动画 C#中Trim()、TrimStart()、TrimEnd()的用法 marquee 标签的使用详情 js鼠标事件 js添加遮罩层 页面上通过地址栏传值时出现乱码的两种解决方法 ref和out的区别在c#中 总结

    史上最全的CSS hack方式一览 2013年09月28日 15:57:08 阅读数:175473 做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我 ...

  6. jQuery笔记(四)jQuery中的动画

    jQuery最吸引人的地方莫过于能做出绚丽的动画了,也是能极大提高用户体验的地方,这次我们就来一探jQuery中的动画! 一. show()方法和hide()方法 show()方法与hide()方法是 ...

  7. 4.2 《锋利的jQuery》jQuery中的动画

    问题:queue()方法? tip0: jquery从1.9版本以上就不支持toggle()方法. // $("#panel h5.head").toggle(function() ...

  8. jQuery中的动画与特效

    1.显示和隐藏hide()和show() 对于动画来说,显示和隐藏是最基本的效果之一,简单介绍jQuery的显示和隐藏. <script type="text/javascript&q ...

  9. JQuery中的动画

    一.show()方法和hide()方法 这两种方法是jQuery动画的最基本方法.当为元素调用show方法时相当于将该元素的display样式改为block或者inline,同理,如果当元素调用hid ...

随机推荐

  1. angular 基本依赖注入

    import { Injectable } from '@angular/core'; @Injectable() export class ProductServiceService { const ...

  2. 华硕X550VC安装ubuntu后wifi无法连接问题

    在网上找了很多资料比如重新编译内核,想办法连上有线网络然后更新驱动,下载离线驱动安装包…… 等等方法 其中有些方法实际测试的时候失败了,文章是几年前的,可能缺少某些依赖.上个网都这么麻烦实在让人疲惫. ...

  3. winform未能加载Interop.WMPLib

    找到这个引用,然后移除既即可以

  4. CentOS 6.3下Samba服务器的安装与配置【转载】

    本文转载自 园友David_Tang的博客,如有侵权请联系本人及时删除,原文地址: http://www.cnblogs.com/mchina/archive/2012/12/18/2816717.h ...

  5. sqoop常用语句

    1,列出全部数据库 sqoop list-databases  --connect jdbc:sqlserver://10.10.10.2 --username sa --password 1 2,导 ...

  6. 文件句柄NSFileHandle

    //一.读取 //1.以只读方式打开 NSFileHandle *fh = [NSFileHandle fileHandleForReadingAtPath:txtPath]; //2.读取所有内容 ...

  7. java基础_02

    一.this和super 作用: this:区分成员变量和局部变量 super:区分父类的成员变量和局部变量 用法: this.成员变量名://访问本类的成员变量 this.成员方法名()://访问本 ...

  8. Qt 学习之路 2(50):自定义可编辑模型

    Home / Qt 学习之路 2 / Qt 学习之路 2(50):自定义可编辑模型 Qt 学习之路 2(50):自定义可编辑模型 豆子 2013年5月13日 Qt 学习之路 2 13条评论 上一章我们 ...

  9. 老男孩python作业7-开发一个支持多用户在线的FTP程序

    作业6:开发一个支持多用户在线的FTP程序 要求: 用户加密认证 允许同时多用户登录 每个用户有自己的家目录 ,且只能访问自己的家目录 对用户进行磁盘配额,每个用户的可用空间不同 允许用户在ftp s ...

  10. mysql数据库怎么使用,mysql的使用方法

    https://jingyan.baidu.com/article/5d368d1ec069c13f61c05742.html 数据库的开启与关闭: https://blog.csdn.net/u01 ...