在Javascript中创建一个可重用的类型编写器效果函数?
我知道我在这里需要做什么的基本知识,但我在编码它时遇到了很多问题,所以我想做的就是这样 定义一系列要调用到函数中的字符串,该函数在屏幕上键入字符串,每个字母之间有一个微小的延迟。 我发现了一些人们制作打字机标题卡的例子,但这些卡片并不是设计用来像可以随时调用的函数那样使用的。对于这个特定的项目,我们需要文本像一个临时对话框系统一样工作,直到使用特定的字符串调用该函数时才会调用它。 类似于带有onclick=dialogFunctionidOfStringToBeTyped的按钮 我所拥有的是这样的:在Javascript中创建一个可重用的类型编写器效果函数?,javascript,html,Javascript,Html,我知道我在这里需要做什么的基本知识,但我在编码它时遇到了很多问题,所以我想做的就是这样 定义一系列要调用到函数中的字符串,该函数在屏幕上键入字符串,每个字母之间有一个微小的延迟。 我发现了一些人们制作打字机标题卡的例子,但这些卡片并不是设计用来像可以随时调用的函数那样使用的。对于这个特定的项目,我们需要文本像一个临时对话框系统一样工作,直到使用特定的字符串调用该函数时才会调用它。 类似于带有onclick=dialogFunctionidOfStringToBeTyped的按钮 我所拥有的是这样
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);
}}
因此,我试图编码的内容已经。。。蛮力-y
编辑:要包括我的尝试,首先应该在那里,很抱歉
这在理论上是可行的,但在实践中却一事无成。我可能有语法错误。但我真的不明白为什么这不起作用。您应该查看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方法调用写入每个字符的代码。setTimeout采用两个参数,一个函数和秒数:
var writeCharacter = function(){
...
};
setTimeout(writeCharacter, 300);
我会让你来决定所有的时间安排。你为什么不包括你的暴力方法?了解你遗漏了什么/做错了什么会有帮助。您是否考虑过在循环中使用Thread.sleepms?您确定您正在编写Java吗?除了字符串示例之外的所有内容看起来都更像JavaScript。欢迎使用StackOverflow。目前看来,您似乎要求我们为您编写缺少的代码,这在这里被认为是离题的。请访问并特别阅读。嗨!我已经更新了帖子,很抱歉。我将来一定会做得更好。我的目的是看看人们会推荐什么方法,而不是要求免费的编码工作。@AuxTaco-同意,但字符串示例看起来真的不像JavaScript。。。