var type = function (target, message, index, interval, callback) {
if (index < message.length) {
$(target).append(message[index++]);
setTimeout(function () {
type(target, message, index, interval, callback);
}, interval);
} else {
callback();
}
}
var i = 0;
(function recursive() {
if (i < tags.length) {
type(tags[i], content[i], 0, 50, recursive);
i++;
}
})();
FIDDLE