动画队列

作者: 蔡森屿 | 来源:发表于2018-06-09 18:00 被阅读0次

    jQuery提供了以下几种方法来操作动画队列。
    stop([clearQuery],[gotoEnd]):停止当前jQuery对象里每个DOM元素上正在执行的动画。

    queue([queueName,]callback):将callback动画数添加到当前jQuery对象里所有DOM元素的动画函数队列的尾部。

    queue([queueName,]naeQueue):用newQueue动画函数队列代替当前jQuery对象里所的DOM元素的动画函数队列。

    dequeue():执行动画函数队列头的第一个动画函数,并将该动画函数移出队列。

    clearQueue([queueName]):清空动画函数队列中的所有动画函数。
    可选的 callback 参数是动画完成后所执行的函数名称。

    <style>  
        div {  
            width: 60px;   
            height: 60px;  
            position:absolute;  
            top:60px;   
            background: #f0f;  
            display:none;  
        }  
        </style>  
    </head>  
    <body>  
        <script type="text/javascript" src="../jquery-1.8.0.js">  
        </script>  
        <p>动画队列的长度是:<span></span></p>  
        <div></div>  
        <script type="text/javascript">  
        var div = $("div");  
        function runIt()  
        {  
            // 第1个动画:显示出来  
            div.show("slow");  
            // 第2个动画:自动动画,水平左移300px  
            div.animate({left:'+=300'},2000);  
            // 第3个动画:卷起来  
            div.slideToggle(1000);  
            // 第4个动画:放下来  
            div.slideToggle("fast");  
            // 第5个动画:自动动画,水平右移300px  
            div.animate({left:'-=300'},1500);  
            // 第6个动画:隐藏出来  
            div.hide("slow");  
            // 第7个动画:显示出来  
            div.show(1200);  
            // 第8个动画:卷起来,动画完成后回调runIt  
            div.slideUp("normal", runIt);  
        }  
        // 控制每0.1秒调用一次该方法,该方法用于显示动画队列的长度  
        function showIt()  
        {  
            var n = div.queue();  
            $("span").text(n.length);  
            setTimeout(showIt, 100);  
        }  
        runIt();  
        showIt();  
        </script>  
    

    ps: 队列是一种列表,不同的是队列只能在末尾插入元素,在队首删除元素。队列用于存储按顺序排列的数据。先进先出。这点和栈不一样,在栈中,最后入栈的元素反被优先处理。可以将队列想象成银行排队办理业务的人,排队在第一个的人先办理业务,其它人只能排着,直到轮到他们为止。

    相关文章

      网友评论

        本文标题:动画队列

        本文链接:https://www.haomeiwen.com/subject/xztxeftx.html