简单的动画队列模型

本文介绍了一种使用JavaScript实现的链式动画执行机制。通过定义一个名为anmin的对象,利用链式调用的方式实现了动画的有序执行。每个动画结束后会自动触发下一个动画,形成了动画队列。这种方式适用于需要按顺序执行多个动画的场景。

给新手写了一个便于理解的动画链式

var anmin = {}
    anmin.list = [];
    anmin.run = function(nextfun){
        anmin.list.push(nextfun);
        //加入动画正在触发
        (function fire() {
            if (!anmin.fireing) {
                var onceRun = anmin.list.shift()
                if (onceRun) {
                    anmin.fireing = true;
                    onceRun(function() {
                        anmin.fireing = false;
                        fire()
                    });
                }
            }
        })();
        return this;
    }
    anmin.run(function(next){
        setTimeout(function(){
            console.log(11111)
            //运行动画。。。。1秒
            //运行完毕,执行下一个动画
            next();//通过这个通知,可以执行下一个
        },1000)
    }).run(function(){
        console.log(222222222)
    })

转载于:https://www.cnblogs.com/aaronjs/p/3835235.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值