动画队列主要用到jQuery的queue、dequeue和clearqueue。

1.queue()函数主要是将一个动画函数数组绑定到一个队列上

2.dequeue()函数主要是执行队列的第一个函数,并从队列中删除。

3.clearqueue()函数是清除动画队列。

<!DOCTYPE html>
<html>
<head>
    <title>queue</title>
    <meta charset="utf-8">
    <script type="text/javascript" src="js/jquery.js"></script>
    <style type="text/css">
        img{
            width:400px;
            height:300px;
            position: absolute;
            bottom:100px;
            right:100px;
        }
    </style>
</head>
<body>
<!-- 设置五幅图片 -->
<div>

    <img src="img/1.jpg" alt="图片1" class="one">
    <img src="img/2.jpg" alt="图片2" class="two">
    <img src="img/3.jpg" alt="图片3" class="three">
    <img src="img/4.jpg" alt="图片4" class="four">
    <img src="img/5.jpg" alt="图片5" class="five">
       
</div>
<script type="text/javascript">
$(function(){
    //创建函数数组aniList,定义动画队列的执行顺序(按照函数数组的indexof)。
    var aniList = [
        function(){
            $('.one').delay(500).animate({right : "+=800px" ,bottom : "+=600"},1000,nextQueue)
        }
    ,
        function(){
            $('.two').delay(500).animate({right : "+=640px" ,bottom : "+=480"},1000,nextQueue)
        }
    ,
        function(){
            $('.three').delay(500).animate({right : "+=480px" ,bottom : "+=360"},1000,nextQueue)
        }
    ,
        function(){
            $('.four').delay(500).animate({right : "+=320px" ,bottom : "+=240"},1000,nextQueue)
        }
    ,
        function(){
            $('.five').delay(500).animate({right : "+=160px",bottom : "+=120"},1000,nextQueue)
        }
    ];
    //将队列名称定义为aniName
    $('div').queue('aniName',aniList);
    //取出动画队列aniName的第一个动画函数并执行
    var nextQueue = function(){
        $('div').dequeue('aniName');
    };
    nextQueue();

    $("<button>right</button>")
        .appendTo('body').bind("click",function(){
        //清除动画队列。
        $('div').clearQueue('aniName');
        return false;
    })
})       
</script>
</body>
</html>

 

posted on 2016-08-05 17:47  北冥鱼鱼鱼  阅读(325)  评论(0编辑  收藏  举报