Javascript 如何使此函数在一段时间内执行此操作
我试图得到第一个函数,重复运行。就像在第二个函数中一样。我应该去哪里看看Javascript 如何使此函数在一段时间内执行此操作,javascript,arrays,module,innerhtml,charat,Javascript,Arrays,Module,Innerhtml,Charat,我试图得到第一个函数,重复运行。就像在第二个函数中一样。我应该去哪里看看 (function printLetterByLetter() { var i = 0; var destination = "comment"; var RandomComment = [ "Did you choose that outfit?" , "I like trains."]; var message = RandomComment[Math.floo
(function printLetterByLetter() {
var i = 0;
var destination = "comment";
var RandomComment = [
"Did you choose that outfit?"
, "I like trains."];
var message = RandomComment[Math.floor(Math.random() * RandomComment.length)];
var typewriter = function () {
document.getElementById(destination).innerHTML += message.charAt(i);
i++;
if (i > message.length) {
clearInterval(typespeed);
}
}
var speed = 60;
var typespeed = setInterval(typewriter, speed)
}());
(function printLetterByLetter() {
var destination = "comment";
var frequency = 1000;
var RandomComment = [
"Did you choose that outfit?"
, "I like trains."];
var RandomCommentTimer = setInterval(function () {
var message = RandomComment[Math.floor(Math.random() * RandomComment.length)];
}, frequency)
}());
所以我想做的是创建一个函数/模块,以设定的速度(第一个函数)键入一条随机注释。在设定的时间后,注释将消失,并键入新的注释(第二个函数)。就像第二个函数一样,这将继续。
到目前为止,我自己还没有成功,所以我想:让我们看看是否有人能在stackoverflow上帮助我
如果有人能给你一个建议去哪里看,那也是最受欢迎的。你可以在函数外部设置和更改函数参数,然后在函数内部访问它们。需要注意的是,在设置它们时,不能将
var
放在前面。如果不将var放在前面,则可以在当前范围之外访问它
destination = "comment";
frequency = 6000;
(function printLetterByLetter() {
//now you have access to destination and frequency as they are defined before the function is called
var RandomComment = [
"Did you choose that outfit?"
, "I like trains."];
var RandomCommentTimer = setInterval(function () {
var message = RandomComment[Math.floor(Math.random() * RandomComment.length)];
document.getElementById(destination).innerHTML = message;
}, frequency)
}());
不确定问题是什么?您的第二个IIFE是不寻常的,因为参数(目标等)将是未定义的(因为您在调用中没有为它们赋值),并且您在IIFE的主体中声明了同名的变量。其次,它们都输出到
#comment
-那么,您认为运行它们(作为单独的“函数”或单个函数)将如何工作?这两个函数本质上是相同的,唯一的区别是RandomComment
数组中的消息。你想如何将它们结合起来?有更多的评论,我从数组中提取了一些,因此文章会更短。我最终想要的是一个函数,它完成了这两个函数现在分别完成的两件事。是的,谢谢,这看起来确实更好。但这不是我被困的地方。