jQuery动画我用的比较多的仅仅只有show和hide,但是作为一个被我们大多数人所熟知的框架,相信他的动画功能还是比较多样的,这里做个小总结。

1.jQuery animate(),用于创建自定义动画。

语法:

$(selector).animate({params},speed,callback);

params:动画要操作的属性,几乎包括所有的css属性,不过需要注意,当要操作注入padding-left等时需要使用camel命名法,不能用小横线这种方式命名属性。同时,除了使用绝对值方式操作属性值,还可以使用相对值得方式,也就是在原来的基础上加减值。

speed:动画速度,可以是fast,slow,也可以是毫秒值。

callback:动画完成后执行的函数名称。

看一个例子:

<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title>jQuery动画</title>
<script type="text/javascript" src="js/jquery-1.11.3.min.js"></script>
</head> <body>
<button class="btn">开始动画</button>
<div style="width: 400px;background-color: pink;" class="wrap">
<div style="width: 100px;background-color: lightcyan" class="content">i am content</div>
</div>
</body>
<script>
$('.btn').on('click', function() {
$('.wrap').animate({
height: '300px',//可以使用绝对值
padding:'30px',
}, 1000, function() {
$('.content').animate({
width:'+=200px',//也可以使用相对值,在原来的基础上加或者减
marginTop:'100px'//camel命名法操作多个单词拼接的属性值
}, 1000, function() {
alert('动画执行完毕!');
});
}); });
</script> </html>

给动画使用预定义值:slow,fast,toggle

        $('.btn').on('click', function() {
$('.wrap').animate({
height: 'toggle'
});
});

toggle会让元素的height在没有到初始值之间切换。

使用动画的队列功能:如果给同一个元素,按照顺序定义不同的动画,则动画会按照定义顺序依次执行

        $('.btn').on('click', function() {
$('.wrap').animate({heigt:'100px'});
$('.wrap').animate({width:'200px'});
});

如果我们把宽高变化,写在同一个animate中,则他们会同时变化,这样分开写,他们会按照我们书写的顺序,依次执行。

2.jQuery stop(),停止动画。

jQuery stop() 方法用于停止动画或效果,在它们完成之前。

stop() 方法适用于所有 jQuery 效果函数,包括滑动、淡入淡出和自定义动画

$(selector).stop(stopAll,goToEnd);

可选的 stopAll 参数规定是否应该清除动画队列。默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行。

可选的 goToEnd 参数规定是否立即完成当前动画。默认是 false。

因此,默认地,stop() 会清除在被选元素上指定的当前动画。

3.show()和hide():显示和隐藏元素,可带参数,决定动画的快慢。

duration:决定动画执行快慢的参数,可取fast,slow,normal和具体的数值,单位是毫秒。

easing:过渡的缓动函数,jQuery中提供两种匀速和变速,linear表示匀速直线运动,而swing则表示变速运动。

4.toggle():切换动画

5.slideUp()和slideDown(),slideToggle():上下动态隐藏元素

        $('.btn').on('click', function() {
$('.wrap').slideToggle();
});

6.fadeIn(),fadeOut(),fadeToggle():淡入淡出显示和隐藏元素

7.fadeTo():让元素变化为固定的透明度

        $('.btn').on('click', function() {
$('.wrap').fadeTo('slow',.5);
});

一般来说,toggle是该动画分类中两个相反子动画的组合动画,因此后面的例子都未给出。这些jQuery动画,除了自定义动画以外,基本分为三大类,fade,slide和show。show类动画是高度和透明度同时变化来显示和隐藏的动画。fade是改变透明度显示和隐藏的动画,slide类是通过改变高度来显示和隐藏的动画。

小结:在使用jQuery动画的过程中,如果我们希望同时改变高度和透明度,则使用show和hide。如果只希望改变高度,则使用slideUp和slideDown,如果只希望改变透明度则使用fadeIn和fadeOut。如果希望改变多个属性或者其他效果,则使用自定义动画。

jQuery动画使用总结的更多相关文章

  1. jQuery动画的实现

    没有引入deferred机制,其余流程都有了 //////////// //创建动画缓动对象 // //////////// function Tween(value, prop, animation ...

  2. 深入学习jQuery动画控制

    × 目录 [1]动画状态 [2]停止动画 [3]动画延迟[4]全局控制 前面的话 jQuery动画可以使用fade.hide.slide等方法实现基本动画效果,可以使用animate实现自定义动画,甚 ...

  3. 深入学习jQuery动画队列

    前面的话 队列实现是jQuery非常棒的一个拓展,使用动画队列可以使动画更容易实现.本文将详细介绍jQuery动画队列 queue() queue()方法用来显示在匹配的元素上的已经执行的函数队列 q ...

  4. jquery动画,基础以及我发现的新大陆

    $.animate()在jquery官方介绍有2中方式,其实我发现的新大陆也是第二种方式的扩展! 一.$.animate( properties [, duration ] [, easing ] [ ...

  5. 让网站动起来!12款优秀的 jQuery 动画插件推荐

    如今,大多数设计师和开发人员被要客户要求开发动态的网站.创造视觉震撼和醒目的动态网站是艰巨的任务,因为它需要大量的努力和创造力.在网络上有大量的工具和插件可用于创建网站动画.许多开发人员正在使用 HT ...

  6. jQuery动画特效实例教程

    本文以实例形式详细讲述了jQuery动画特效的实现方法. 1.自制折叠内容块 内容块如下:     <div class="module">   <div cla ...

  7. JQuery动画效果

    jquery动画效果常用方法 1.show()显示效果语法:show(speed,callback)Number/String,Function speend为动画执行时间,单位为毫秒.也可以为slo ...

  8. jQuery动画特效笔记

    show().hide().fadeIn().fadeOut().slideDown.slideUp.slideToggle()都接受可选的时长和回调参数(选项对象参数). toggle(durati ...

  9. Velocity – 另外一款加速的 jQuery 动画插件

    Velocity 是一款 jQuery 插件,重新实现了 $.animate() 方法,提供更高的性能(比 CSS 动画还更快),同时包括一些新的功能,以改进动画工作流程.Velocity 除了包括所 ...

  10. 有时候就是看不进论文-jQuery动画特效篇&MySQL

    hi 早上知道新的乱斗模式后,没忍住开了几把,然后就无心论文了...用这个来破吧 1.jQuery -----动画特效----- ----调用show()和hide()方法显示和隐藏元素 show() ...

随机推荐

  1. 读论文系列:Object Detection NIPS2015 Faster RCNN

    转载请注明作者:梦里茶 Faster RCNN在Fast RCNN上更进一步,将Region Proposal也用神经网络来做,如果说Fast RCNN的最大贡献是ROI pooling layer和 ...

  2. 转载--MYSQL5.7:Access denied for user 'root'@'localhost' (using password:YES)解决方法

    1.打开MySQL目录下的my.ini文件,在文件的最后添加一行"skip-grant-tables",保存并关闭文件; 2.重启MySQL服务; 3.通过cmd行进入MySQL的 ...

  3. alpha-咸鱼冲刺day2

    一,合照 emmmmm.自然是没有的. 二,项目燃尽图 三,项目进展 今天并没有什么进展,弄了好久好像也只研究出怎么把JS的功能块插入进去.html的信息提交这些还不知道要怎么弄. 四,问题困难 日常 ...

  4. Linux下Java通用安装方法

    1.到oracle官网下下载对应jdk包,一般为%x64%.tar.gz格式. 2.建立目录: $ mkdir /usr/local/java 3.将压缩包解压至/usr/local/java 4.修 ...

  5. STL常用整理

    S T L Sting: << 判断拼音序 size length 字符串长度 str[n] 代表字符串中的一个字符 可用作左值 string::size_type 用于表示字符串长度计量 ...

  6. java unicode和字符串间的转换

    package ykxw.web.jyf; /** * Created by jyf on 2017/5/16. */ public class unicode { public static voi ...

  7. Scala 集合入门

    1. 数组 1.1 定长数组 scala.Array 是定长的可变的索引型集合, JVM 中, Scala 的 Array 是以 Java 数组方式实现. String 对应 java.lang.St ...

  8. caffe使用ctrl-c不能保存模型

    caffe使用Ctrl-c 不能保存模型: 是因为使用的是 tee输出日志 解决方法:kill -s SIGINT <proc_id> 或者使用 GLOG_log_dir=/path/to ...

  9. 同样是IT培训,为什么人家月薪过万,你才几千,问题在哪?!

    听过一句话"360行,行行转IT",虽然有些夸张,但也不难看出IT行业的火爆程度.从李总理提的"互联网+大数据"开始,中国的这场"互联网+" ...

  10. python构造一个freebuf新闻发送脚本

    前言: 放假学习完web漏洞后.想写一个脚本 然而自己菜无法像大佬们一样写出牛逼的东西 尝试写了,都以失败告终. 还有一个原因:上学时间不能及时看到,自己也比较懒.邮件能提醒自己. 需要安装的模块: ...