jQuery animate动画 stop()方法详解~

时间:2024-07-23 17:36:56

一、动画格式:

  格式一:jQueryObject.animate( cssProperties, options )

  格式二:$('#id').animate( styles[, duration ] [, easing ] [, complete ] )

  手动调用方法:$('#id').dqueue( [ queueName ] )

  停止方法:$('#id').stop( [ queueName ] [, clearQueue [, jumpToEnd ]  )

二、属性介绍:

2-1、animate属性:部分资料来源:更多>>

  styles: 执行的css动画集合:一个或多个css属性的键值对所构成的Object对象。

  speed/option: 执行时间/可以设置相关属性(指定动画运行多长时间(毫秒数),默认值为400。该参数也可以为字符串"fast"(=200)或"slow"(=600));

  easing:指定使用何种动画效果,默认为"swing",还可以设为 "linear"或其他自定义的动画样式函数。

  callback:回调函数

2-2、stop属性:

  queueName:(默认:'fx')需要停止动画的队列名称;

  clearQueue:(默认:false)是否执行清除后续队列:$(selector).animate(a,b,c)..animate(a2,b2,c2).animate(a3,b3,c3)...N;

  jumpToEnd:(默认:false)是否停止当前执行的动画同时直接跳到动画的效果最终结果;

示例:

1、自动执行

$(selector).animate(a,b,c)..animate(a2,b2,c2).animate(a3,b3,c3)...N;

stop()方法使用实例:

$('#btnstop').click( function(){
    var v = $('#animation').val();//文本框或其他控件传入1、2、3、4等值
    var $myDiv = $('#myDiv');
    if(v == '1'){
        $myDiv.stop( ); // 停止当前动画,不清空队列,即会继续执行下一个动画效果
    }else if(v == '2'){
        $myDiv.stop( true ); // 停止当前动画,清空队列,及停止全部动画效果
    }else if(v == '3'){
        $myDiv.stop( 'fx', true ); // 等同于'2''fx'
    }else if(v == '4'){
        $myDiv.stop( true, true ); // 清空队列,直接完成当前动画
    }
} ); 2、手动执行
animate代码:
$('#dv').animate({

    'borderWidth':'20px',

    'position'.'absolute',

    'left','20px',

    'top','20px'

    },{

    duration:3000,//执行动画的时间(毫秒)

    easing:'swing',//指定使用何种动画效果

    queue:'qName'//指定动画名称

    })

  调用方法代码:

  $('#btnStar').clik(function (){

    $('#id').dqueue('qName')//$('#id')对象执行动画名称为'qName'的动画

    }

  停止方法代码

  $('#btnStop').clik(function (){

    $('#id').stop('qName')//$('#id')停止执行动画名称为'qName'的动画

    }

以上都是对方法 animate() & .stop()的个人理解!!如有错误请回复指正!