【发布时间】:2013-04-23 15:05:32
【问题描述】:
你好我found this snippet模拟打字机效果:
$.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();
});
};
但它在进程完成之前执行
我如何知道该回调函数的放置位置?
【问题讨论】:
-
您不能将它按原样粘贴到您的代码中,您必须检测所有 setTimeouts 何时完成。
标签: jquery jquery-plugins callback