开发者社区> 问答> 正文

jquery中如何将在动画函数之外,将另一个函数添加进此动画函数的动画队列中?

如题,我的代码结构形式如下:

function Game(){}
Game.prototype.start=function(){
readyCountStart();
**//此处我想让panelActivate与stopWatchStart在动画结束后再执行**
}

readyCountStart=function(){
$('#countBox').fadeIn(1000);
//......
}
panelActivate=function(){
//激活面板
}
stopWatchStart=function(){
//秒表计时开始
}

1.首先请问从代码结构的角度讲,我的readyCountStart,panelActivate,stopWatchStart`这三个函数应该放Game.prototype.start中声明还是在全局中声明?

2.若按照上述代码,想达到动画后再执行后面两个函数,那么可以在readyCountStart的函数中定义fadeIn的回调函数为panelActivate,stopWatchStart,但是我认为会破坏整个代码结构的可读性,并且造成耦合。

展开
收起
小旋风柴进 2016-05-27 11:14:54 1889 0
1 条回答
写回答
取消 提交回答
  • 1)这个3个函数有可能会被重用吗?如果这3个函数只是某个功能模块的函数,那就没有必要放在全局中去声明,
    甚至直接写成匿名函数都可以
    2).fadeIn( [duration ] [, complete ] ) fadeIn可以在动画结束后调用执行的函数

    function readyCountStart(callback){
        $('#countBox').fadeIn(1000,callback);
    }
    readyCountStart(function(){
        panelActivate();
        stopWatchStart();
    });

    function Game(){}
    Game.prototype.start=function(){
        function panelActivate(){
        
        }
        function stopWatchStart(){
        
        }
        $('#countBox').fadeIn(1000,function(){
            panelActivate();
            stopWatchStart();
        });
    )

    3) 如像降低模块之间的耦合度,那么使用自定义事件监听机制是个好方法。模块之间可以完全不管对方是否存在,发事件消息的管发消息,监听消息的只关心想要的事件是否发生了。耦合度最低~~

    2019-07-17 19:17:27
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关课程

更多

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载