jquery逐字符显示字符串

时间:2014-06-19 13:43:39

标签: jquery string recursion character

我想创建一个jquery脚本,它可以逐个字符地记下div中的字符串,就像有人在用户正在查看页面时键入它一样。

我认为这可以使用settimeout的递归函数。

请帮帮我。感谢。

2 个答案:

答案 0 :(得分:1)

你可以自己写一个。

  • 使用setInterval()
  • 在数组中存储消息并逐个弹出单词/字符
  • 清除完成后的间隔

DEMO

<强> jQuery的:

// Consturct a message, transform it to an array using .split() and reverse it
// If you want to print out one word at a time instead of a character at a time
// Change .split('') to .split(' ')
var $message = 'This is a message to be rendered'.split('').reverse();

// Set the frequency of your 'pops'
var $timeout = 1000;

var outputSlowly = setInterval(function() {

    // Add text to the target element
    $('#target').append($message.pop());

    // No more characters - exit
    if ($message.length === 0) {            
        clearInterval(outputSlowly);   
    }

}, $timeout);

<强> HTML:

<p id="target"></p>

答案 1 :(得分:0)

jQuery打字机在这里可用:https://github.com/chadselph/jquery-typewriter

你可以看到repo本身的演示。

以下是其工作原理的示例:

$('.someselector').typewrite({
'delay': 100, 
'extra_char': '', 
'trim': true, 
'callback': null
});