JQuery中动画队列

动画队列常用方法

  • queue([queueName,]callback):将callback动画数添加到当前jQuery对象里所有DOM元素的动画函数队列的尾部。
  • queue([queueName,]naeQueue):用newQueue动画函数队列代替当前jQuery对象里所的DOM元素的动画函数队列。
  • stop([clearQuery],[gotoEnd]):停止当前正在运行的动画
    • clearQueue:是否清除未执行的动画队列,default: false
    • jumpToEnd:是否展示当前动画最终状态,default: false
  • dequeue():执行动画函数队列头的第一个动画函数,并将该动画函数移出队列。
  • clearQueue([queueName]):清空动画函数队列中的所有动画函数。
  • .finish():停止当前动画,并清除动画队列中所有未完成的动画,最终展示动画队列最后一帧的最终状态

举例

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="http://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
    <title>JS Bin</title>
    <style>
        #box {
            position:relative;
            height: 100px;
            width: 100px;
            background-color: yellow;
        }
    </style>
</head>
    <button id="btn">开始动画</button>
    <button id="btn1">clearQueue</button>
    <button id="btn2">finish</button>
    <button id="btn3">stop</button>
    <button id="btn4">stop(true)</button>
    <button id="btn5">stop(true,true)</button>
    <span id="result"></span>
    <div id="box"></div>
    <script>
        $('#btn').click(function () {
            setInterval(function () {
                $('#result').html('队列数是:' + $('#box').queue().length)
            }, 1000)
            $('#box').animate({
                    'left': '100px'
                }, 1000)
                .animate({
                    'width': '200px'
                }, 1000);
            $('#box').queue(function () {
                $(this).css('height', '200px');
                $(this).dequeue();
            },1000)
            $('#box').animate({
                    'left': '0'
                }, 1000)
                .animate({
                    'width': '100px',
                    'height':'100px'
                }, 1000);
        });

        $('#btn1').click(function () {
            $('#box').clearQueue();
        })
        $('#btn2').click(function () {
            $('#box').finish();
        })
        $('#btn3').click(function () {
            $('#box').stop()
        })
        $('#btn4').click(function () {
            $('#box').stop(true)
        })
        $('#btn5').click(function () {
            $('#box').stop(true, true)
        })
    </script>

</body>

</html>

实现效果:

http://js.jirengu.com/kanizoyoja

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 4,910评论 0 1
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 5,214评论 0 2
  • $HTML, HTTP,web综合问题 1、前端需要注意哪些SEO 2、 的title和alt有什么区别 3、HT...
    Hebborn_hb阅读 10,093评论 0 20
  • 通过jQuery,您可以选取(查询,query)HTML元素,并对它们执行“操作”(actions)。 jQuer...
    枇杷树8824阅读 3,873评论 0 3
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 13,115评论 0 3