【发布时间】:2016-03-08 13:24:56
【问题描述】:
我有这个代码 sn-p。
<div class="content__img-txt">
<a class="input-group">
<input class="input-group-field" type="text">
<div class="input-group-button">
<input type="submit" class="button" value="»">
</div>
</div>
function showLetter (field, text, delay) {
$(field).val(text.substring(0,1));
for(var i = 2; i <= text.length; i++)
{
setTimeout(function(){
$(field).val(text.substring(0,i));
}, delay);
}
}
showLetter (".input-group-field", "Show letter for letter with a delay of 1 second", 1000);
控制台显示:未捕获的类型错误:无法读取属性“长度” 的未定义。
文档完全加载后,如何在输入字段中显示文本,而不是一个字母一个字母,而不是整个文本?
【问题讨论】:
-
您介意向我们展示您的一些 html 标记吗?
-
在我的 Chrome 上运行良好。但文字显示在一起。
-
您确定控制台消息指向该代码吗?您的主要问题似乎是您的文本将一起显示,因为到您的超时执行时
i将是字符串的长度,请参阅JavaScript closure inside loops – simple practical example
标签: javascript jquery input delay settimeout