Write text
by anzeo
HTML
<span data-bind="appear: word"></span>
JavaScript
function addLetter(element, word, letterIndex){
if(letterIndex < word.length) {
element.innerHTML = element.innerHTML + word[letterIndex];
setTimeout(function(){
addLetter(element, word, ++letterIndex);
}, 100);
} else {
element.innerHTML = "";
addLetter(element, word, 0);
}
}
ko.bindingHandlers.appear = {
update: function(element, valueAccessor){
var word = ko.utils.unwrapObservable(valueAccessor());
addLetter(element, word, 0);
}
}
var vm = {
word: 'Hello World!'
}
ko.applyBindings(vm);