Salut là je found this snippet qui simule l'effet de la machine de frappe:Comment ajouter un rappel à cette fonction?
$.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 semble fonctionner à merveille, mais je dois savoir quand la fonction est terminée, j'ai essayé d'ajouter un autre paramètre et l'exécuter à la fin de celui-ci :
$.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();
});
};
Mais son exécution avant la proccess terminé
Comment puis-je savoir où placer cette fonction de rappel?
Vous Vous ne pouvez pas simplement le coller dans votre code tel quel, vous devrez le détecter lorsque tous les setTimeouts seront terminés. –