我知道我需要在这里做的基础知识,但是我尝试编写它的过程充满了问题,所以这就是我想做的事情。
定义一系列要调用的字符串,该字符串将其键入屏幕,每个字母之间略有延迟。
我发现了一些制作打字机标题卡的人的例子,但这些例子并非旨在像可以即时调用的功能那样使用。对于此特定项目,我们需要文本像临时对话框系统那样起作用,直到使用特定字符串调用该函数后,该文本才被调用。
就像带有" onclick="dialogFunction(idOfStringToBeTyped) "
的按钮
我看起来像这样:
var d1Example = "Hello, I am example dialog";
function dialog(dialogString) {
var i;
for (i = 0; i <= dialogString.length(); i++) {
document.write( dialogString.charAt(i) );
java.lang.Thread.sleep(50);
}}
所以我对内容进行编码的尝试是...蛮横的......
编辑:包括我的尝试,本来应该在那里,对此感到抱歉。
从理论上讲,这应该起作用,但实际上什么也没做。我可能有语法错误。但是对我来说,为什么这不起作用真的没有意义。
答案 0 :(得分:0)
您应该查看JavaScript函数setTimeout
和Math.random()
。
您可以使用Math.random()
创建介于0和1之间的浮点整数。
var multipule = 5
var rand = Math.random(); // 0.5680401974599227
var randInSeconds = rand * multipule // 2.840200987299614
var waitInSeconds = Math.round(randInSeconds) // 3
然后使用setTimeout
out方法调用写入每个字符的代码。 setTimeout
带有两个参数,一个函数和秒数:
var writeCharacter = function(){
...
};
setTimeout(writeCharacter, 300);
我会把所有的时间留给你。