在输入内逐字显示文字

时间:2015-08-29 16:30:01

标签: jquery html input

我试图在输入标记中逐字母显示一条消息,就像实际写入一样,定位该值只会一次显示每个字母,而不是一个接一个地显示:jsFiddle

HTML

<input class="mailchimp" type="text" spellcheck="false" />

Jquery的

var fillInput = function (target, message, index, interval) {    
  if (index < message.length) { 
    $(target).val(message[index++]); 
    setTimeout(function () { fillInput(target, message, index, interval); }, interval); 
  } 
}

$(function () { 

  fillInput(".mailchimp", "Subscribe", 0, 100); 

}); 

如果您将$(target).val(message[index++]);更改为$(target).append(message[index++]);并使用类mailchimp创建div,则会逐个显示每个字母。

我该如何解决这个问题?感谢。

1 个答案:

答案 0 :(得分:1)

你需要附加值为输入值的char 的 JS

var fillInput = function (target, message, index, interval) {    
  if (index < message.length) { 
    $(target).val($(target).val()+message[index++]); 
    setTimeout(function () { fillInput(target, message, index, interval); }, interval); 
  } 
}

$(function () { 

  fillInput(".mailchimp", "Subscribe", 0, 100); 

}); 

http://jsfiddle.net/u28ajyfz/