嗨,我发现了这个模拟打字机效果的片段:
$.fn.teletype = function(opts){
var $this = this,
defaults = {
animDelay: 50
},
settings = $.extend(defaults, opts);
$.each(settings.text.split(''), function(i, letter){
setTimeout(function(){
$this.html($this.html() + letter);
}, settings.animDelay * i);
});
};
Wich 似乎工作得很好,但我需要知道函数何时完成,我尝试添加另一个参数并在其末尾运行它:
$.fn.teletype = function(opts,callback){
var $this = this,
defaults = {
animDelay: 50
},
settings = $.extend(defaults, opts);
$.each(settings.text.split(''), function(i, letter){
setTimeout(function(){
$this.html($this.html() + letter);
}, settings.animDelay * i
callback();
});
};
但它在进程完成之前执行
我怎么知道在哪里放置这个回调函数?