在jQuery中除了其给定的动画属性外,但其动画效果有时过于生硬,因此jQuery中有自定义的动画属性
animate ,供开发者使用,以便设计出更加生动的动画
jQuery自定义动画函数. .animate( properties [, duration] [, easing] [, complete] )
有四个参数:
animate的语法及其参数的说明
(1)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: 50,
 width: ‘50px’
 opacity: ‘show’,
 fontSize: “10em”,
 }, 500);
 除了定义数值,每个属性能使用’show’, ‘hide’, 和 ‘toggle’。这些快捷方式允许定制隐藏和显示动画用来控制元素的显示或隐藏
 .animate({
 width: “toggle”
 });
 如果提供一个以+= 或 -=开始的值,那么目标值就是以这个属性的当前值加上或者减去给定的数字来计算的
 .animate({
 left: ‘+=50px’
 }, “slow”);

(2)duration时间:

动画执行的时间,持续时间是以毫秒为单位的;值越大表示动画执行的越慢,不是越快。还可以提供’fast’ 和 ‘slow’ 等字符串,分别表示持续时间为200 和 600毫秒。

(3)easing动画运动的算法

jQuery库中默认调用 swing。如果需要其他的动画算法,请查找相关的插件

(4)complete回调

动画完成时执行的函数,这个可以保证当前动画确定完成后发会触发

jquery 自定义动画 渐变 jquery自定义动画函数_ci


jquery 自定义动画 渐变 jquery自定义动画函数_jQuery_02


jquery 自定义动画 渐变 jquery自定义动画函数_jquery 自定义动画 渐变_03


有开始动画就有停止动画

jQuery中停止动画stop()

动画在执行过程中是允许被暂停的,当一个元素调用.stop()方法,当前正在运行的动画(如果有的话)立即停止

语法:

.stop( [clearQueue ], [ jumpToEnd ] )
 .stop( [queue ], [ clearQueue ] ,[ jumpToEnd ] )

stop还有几个可选的参数,简单来说常用的可以这3种情况

.stop(); 停止当前动画,点击在暂停处继续开始

.stop(true); 如果同一元素调用多个动画方法,尚未被执行的动画被放置在元素的效果队列中。这些动画不会开始,直到第一个完成。当调用.stop()的时候,队列中的下一个动画立即开始。如果clearQueue参数提供true值,那么在队列中的动画其余被删除并永远不会运行

.stop(true,true); 当前动画将停止,但该元素上的 CSS 属性会被立刻修改成动画的目标值

简单的可参考下面代码、

$("#demo").animate({
 height: 300
 }, 5000)
 $("#demo").animate({
 width: 300
 }, 5000)
 $("#demo").animate({
 opacity: 0.6
 }, 2000)

stop():只会停止第一个动画,第二个第三个继续

stop(true):停止第一个、第二个和第三个动画

stop(true ture):停止动画,直接跳到第一个动画的最终状态

jquery 自定义动画 渐变 jquery自定义动画函数_动画效果_04


jquery 自定义动画 渐变 jquery自定义动画函数_ci_05


jquery 自定义动画 渐变 jquery自定义动画函数_jQuery_06


jquery 自定义动画 渐变 jquery自定义动画函数_动画效果_07


下面我要执行的是第一张的页面显示图中的动画2,3的选项

执行动画2后的显示

jquery 自定义动画 渐变 jquery自定义动画函数_jquery 自定义动画 渐变_08


执行动画3后的显示

jquery 自定义动画 渐变 jquery自定义动画函数_jquery 自定义动画 渐变_09


jquery 自定义动画 渐变 jquery自定义动画函数_jQuery_10


写了那么多的动画选项,是不可能一一执行的

那就靠你们来执行了