在Javascript中创建可重复使用的类型编写器效果函数?

时间:2019-04-23 22:38:54

标签: javascript html

我知道我需要在这里做的基础知识,但是我尝试编写它的过程充满了问题,所以这就是我想做的事情。

定义一系列要调用的字符串,该字符串将其键入屏幕,每个字母之间略有延迟。 我发现了一些制作打字机标题卡的人的例子,但这些例子并非旨在像可以即时调用的功能那样使用。对于此特定项目,我们需要文本像临时对话框系统那样起作用,直到使用特定字符串调用该函数后,该文本才被调用。 就像带有" 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);
}}

所以我对内容进行编码的尝试是...蛮横的......

编辑:包括我的尝试,本来应该在那里,对此感到抱歉。

从理论上讲,这应该起作用,但实际上什么也没做。我可能有语法错误。但是对我来说,为什么这不起作用真的没有意义。

1 个答案:

答案 0 :(得分:0)

您应该查看JavaScript函数setTimeoutMath.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);

我会把所有的时间留给你。

相关问题