需要JavaScript OOP和setInterval帮助
我正在编写一个网页,每4秒钟会有一条不同的消息。我已经构建了一个自定义对象,我打算从中提取信息以创建要显示的字符串。我正在使用一个类似于Math.random的函数,名为“rand”,它允许我随机访问对象。我已将时间间隔设置为4秒。我可以让字符串显示出来,但在那之后,网页继续加载,并且开始严重滞后,我不得不退出。我使用的代码如下所示。请帮忙需要JavaScript OOP和setInterval帮助,javascript,oop,timer,Javascript,Oop,Timer,我正在编写一个网页,每4秒钟会有一条不同的消息。我已经构建了一个自定义对象,我打算从中提取信息以创建要显示的字符串。我正在使用一个类似于Math.random的函数,名为“rand”,它允许我随机访问对象。我已将时间间隔设置为4秒。我可以让字符串显示出来,但在那之后,网页继续加载,并且开始严重滞后,我不得不退出。我使用的代码如下所示。请帮忙 var name = "Barack Obama"; var Actions = { "ActionList" : [
var name = "Barack Obama";
var Actions = {
"ActionList" : [
{ "action" : "watches a 30 minute TV show",
"time" : 30,
"time_measure" : "minute",
"assuming" : "assuming he sat through the commercials too"
},
{
"action" : "makes some pizza rolls",
"time" : 9,
"time_measure" : "minute",
"assuming" : "he only made one plateful"
},
{
"action" : "takes a 2 hour nap",
"time" : 2,
"time_measure" : "hour",
"assuming" : "assuming he's a heavy sleeper"
},
{
"action" : "1000 jumping jacks",
"time" : 1,
"time_measure" : "hour",
"assuming" : "he doesn't take a break, or slow down"
}
]
};
function rand(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function run() {
/**
* RANDOMLY SELECT OBJECTS
***/
var r = rand(0, 3);
var x = Actions.ActionList[r]["action"];
document.write( x );
}
setInterval(run, 4000);
加载页面后不能使用document.write。它会破坏当前页面 您应该使用诸如appendChild()或innerHTML之类的DOM方法。
这个JSFIDLE有一个工作示例。这与document.write有关。代码中的其他所有内容都正常工作。接受了您的建议,但编辑代码后,我没有从代码中获得任何输出。