rm-*_*nda 5 javascript jquery dom
我正在尝试编写一个简单的函数,使其看起来好像有人在输入 textarea
- 这是我的功能(原谅我,如果它的残暴,但我通常不使用javascript)---该console.log()部分工作正常,但由于某种原因我不能得到这个脚本更新dom我期望的方式.. .
function type(string) {
value = "";
el = document.getElementById("typeArea");
for (var i = 0; i < string.length; i++) {
value += string[i];
//$("#fbw > textarea").val(value);
el.textContent = value;
console.log(value);
sleep(160);
}
sleep(2000);
}
Run Code Online (Sandbox Code Playgroud)
我很感激你能给我的任何见解.
Tra*_*s J 11
你所缺少的只是一个结构而不是Sleep.实现此目的的js方法是使用超时和递归调用来迭代字符串
function type(string,element){
(function writer(i){
if(string.length <= i++){
element.value = string;
return;
}
element.value = string.substring(0,i);
if( element.value[element.value.length-1] != " " )element.focus();
var rand = Math.floor(Math.random() * (100)) + 140;
setTimeout(function(){writer(i);},rand);
})(0)
}
Run Code Online (Sandbox Code Playgroud)