动画 animate()
01.animate()方法的简单使用
有些复杂的动画通过之前学到的几个动画函数是不能够实现,这时候就是强大的animate方法了。
操作一个元素执行3秒的淡入动画,对比下一下2组动画设置的区别。
$(elem).fadeOut(3000) $(elem).animate({ opacity:0 },3000)
显而易见,animate方法更加灵活了,可以精确的控制样式属性从而执行动画。
语法:
1 .animate( properties [, duration ] [, easing ] [, complete ] )
2 .animate( properties, options )
.animate()方法允许我们在任意的数值的CSS属性上创建动画。2种语法使用,几乎差不多了,唯一必要的属性就是一组CSS属性键值对。这组属性和用于设置.css()方法的属性键值对类似,除了属性范围做了更多限制。第二个参数开始可以单独传递多个实参也可以合并成一个对象传递了。
参数分解:
properties:一个或多个css属性的键值对所构成的Object对象。要特别注意所有用于动画的属性必须是数字的,除非另有说明;这些属性如果不是数字的将不能使用基本的jQuery功能。比如常见的,border、margin、padding、width、height、font、left、top、right、bottom、wordSpacing等等这些都是能产生动画效果的。background-color很明显不可以,因为参数是red或者GBG这样的值,非常用插件,否则正常情况下是不能只能动画效果的。注意,CSS 样式使用 DOM 名称(比如 "fontSize")来设置,而非 CSS 名称(比如 "font-size")。
特别注意单位,属性值的单位像素(px),除非另有说明。单位em 和 %需要指定使用
.animate({ left: , width: 'px' opacity: 'show', fontSize: "em", }, );
除了定义数值,每个属性能使用'show', 'hide', 和 'toggle'。这些快捷方式允许定制隐藏和显示动画用来控制元素的显示或隐藏
.animate({ width: "toggle" });
如果提供一个以+= 或 -=开始的值,那么目标值就是以这个属性的当前值加上或者减去给定的数字来计算的
.animate({ left: '+50px' }, "slow");
duration:时间
动画执行的时间,持续时间是以毫秒为单位的;值越大表示动画执行的越慢,不是越快。还可以提供'fast' 和 'slow'字符串,分别表示持续时间为200 和 600毫秒。
easing动画运动的算法:
jQuery库中是默认的时调用 swing。在一个恒定的速度进行动画,如果需要其他的动画算法,请查找相关的插件
complete回调
动画完成时执行的函数,这个可以保证当前动画确定完成后发会触发
02.animate() 方法来依次执行多个动画
animate在执行动画中,如果需要观察动画的一些执行情况,或者在动画进行中的某一时刻进行一些其他处理,我们可以通过animate的提供第二种设置语法,传递一个对象参数,可以拿到动画执行状态一些通知。
.animate( properties, options )
options参数
duration - 设置动画执行的时间
easing - 规定要使用的 easing 函数,过渡使用哪种缓动函数
step:规定每个动画的每一步完成之后要执行的函数
progress:每一次动画调用的时候会执行这个回调,就是一个进度的概念
complete:动画完成回调
如果多个元素执行动画,回调将在每个匹配的元素上执行一次,不是作为整个动画执行一次
列出常用的方式
$('#elem').animate({ width: 'toggle', height: 'toggle' }, { duration: , specialEasing: { width: 'linear', height: 'easeOutBounce' }, complete: function() { $(this).after('<div>Animation complete.</div>'); } });
调用animate()方法可以创建自定义动画效果,它的调用格式为:
$(selector).animate({params},speed,[callback])
其中,params参数为制作动画效果的CSS属性名与值,speed参数为动画的效果的速度,单位为毫秒,可选项callback参数为动画完成时执行的回调函数名。
例如,调用animate()方法以由小到大的动画效果显示图片,如下图所示:
<body> <h>制作简单的动画效果</h> <img src="images/.png" alt=""/> <div id="tip"></div> <script type="text/javascript"> $(function() { $('img').animate({ width: 'px'; height:'px' }, , function() { $("#tip").html('执行完成!'); }); }) </script> </body>
在浏览器中显示的效果:
从图中可以看出,调用animate()方法,以渐渐放大的动画效果显示图片元素,当动画执行完成后,通过回调函数在页面的<div>元素中显示“执行完成!”的字样。
本文向大家介绍深入理解jquery自定义动画animate(),包括了深入理解jquery自定义动画animate()的使用技巧和注意事项,需要的朋友参考一下 在以前很长一段时间里,网页上的各种特效还需要采用flash 在进行。但最近几年里,我们已经很少看到这种情况了,绝大部分已经使用JavaScript 动画效果来取代flash。这里 说的取代是网页特效部分,而不是动画。网页特效比如:渐变菜单、
本文向大家介绍jQuery使用animate创建动画用法实例,包括了jQuery使用animate创建动画用法实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery使用animate创建动画用法。分享给大家供大家参考。具体如下: animate的用法: animate( Hash params, String|NumberJavascript 字符串或数字值 speed, Str
本文向大家介绍jquery animate动画持续运动的实例,包括了jquery animate动画持续运动的实例的使用技巧和注意事项,需要的朋友参考一下 如下所示: 如上,想要实现左右持续运动,则把该动画封装为一个函数,再反复调用就好。 以上这篇jquery animate动画持续运动的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
本文向大家介绍js实现类似jquery里animate动画效果的方法,包括了js实现类似jquery里animate动画效果的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js实现类似jquery里animate动画效果的方法。分享给大家供大家参考。具体分析如下: 该实例可实现鼠标移上,先宽度变化,再高度变化,最后透明度变化,鼠标移出,再依次变回去的效果。 要点一: 如上面,函数也可
本文向大家介绍原生js仿jquery animate动画效果,包括了原生js仿jquery animate动画效果的使用技巧和注意事项,需要的朋友参考一下 jquery animate动画效果: 代码 注意点 1.动画前要先停止原来的定时器,不然绑定多个对象的话会冲突 2.定时器的id要区分开,不能重叠,这里我直接那绑定对象的 对象来赋值 obj.timer 3.要判断所要执行的动画,
本文向大家介绍Android使用Theme自定义Activity进入退出动画的方法,包括了Android使用Theme自定义Activity进入退出动画的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android使用Theme自定义Activity进入退出动画的方法。分享给大家供大家参考,具体如下: 有没有觉得Activity的默认动画太快了或者太难看了。。 我原来使用Activi