2018-09-27 动画队列

2018-09-27  本文已影响0人  红豆丁244

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

上一篇 下一篇

猜你喜欢

热点阅读