如题,我的代码结构形式如下:
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,
但是我认为会破坏整个代码结构的可读性,并且造成耦合。
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) 如像降低模块之间的耦合度,那么使用自定义事件监听机制是个好方法。模块之间可以完全不管对方是否存在,发事件消息的管发消息,监听消息的只关心想要的事件是否发生了。耦合度最低~~
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。