Show text letter by letter

前端 未结 16 1536
旧巷少年郎
旧巷少年郎 2020-11-27 16:38

What is the most elegant way of showing an html text letter by letter (like videogame captions) using CSS and JavaScript?

While I\'m sure that his can be solved usin

16条回答
  •  旧时难觅i
    2020-11-27 17:23

    I made a tiny jquery plugin for that. First you need to make sure that the text will be visible if javascript is disabled, and if not, redisplay the text letter by letter.

    $.fn.retype = function(delay) {
        var el = this,
            t = el.text(),
            c = t.split(''),
            l = c.length,
            i = 0;
        delay = delay || 100;
        el.empty();
        var interval = setInterval(function(){
            if(i < l) el.text(el.text() + c[i++]); 
            else clearInterval(interval);
        }, delay);
    };
    

    Usage will be just as easy as this:

    $('h1').retype();
    

提交回复
热议问题