如何在Javascript中使用数组值更改div文本?
我正在建立一个网站和主页将基本上有2个div的包含文本。我希望其中一个div每隔2秒使用我在数组中放置的值进行更改如何在Javascript中使用数组值更改div文本?,javascript,jquery,html,Javascript,Jquery,Html,我正在建立一个网站和主页将基本上有2个div的包含文本。我希望其中一个div每隔2秒使用我在数组中放置的值进行更改 var skills = ["text1","text2","text3","text4"]; var counter = 0; var previousSkill = document.getElementById("myGreetingSkills"); var arraylength = skills.length - 1; function display_skills(
var skills = ["text1","text2","text3","text4"];
var counter = 0;
var previousSkill = document.getElementById("myGreetingSkills");
var arraylength = skills.length - 1;
function display_skills() {
if(counter === arraylength){
counter = 0;
}
else {
counter++;
}
}
previousSkill.innerHTML = skills[counter];
setTimeout(display_skills, 2000);
innerHTML
是邪恶的,请使用jQuery!(假设是因为已将其选择为标记)
使用array.join()
。
此函数的语法为array.join(string),其中3 string是连接字符。
例子:
[1,2,3]。join(&)
将返回“1&2&3”
希望这有帮助
Awesomeness01您需要在
setTimeout()
中的函数中包装display\u skills
,并使用setInterval()
var myInterval = setInterval(function(){display_skills()}, 2000);
并确保调用previousSkill.innerHTML=skills[counter]代码>在interval'd函数中-否则它只运行一次
您可以使用window.clearInterval(myInterval)终止间隔代码>将这一行放在previousSkill.innerHTML=skills[counter];在功能上。。。还有另一个setTimeout
,或者改用setInterval
,否则函数只执行一次。是的,anwerjunaid是正确的,否则skills[计数器]
将始终显示text1
,因为它超出了功能范围。innerHTML是邪恶的:@Alex您链接的帖子似乎不支持您的免责声明。。。?答案是引入替代方案,甚至为innerHTML
(innerHTML一点也不邪恶)辩护,但我找不到任何证据证明innerHTML
是邪恶的。只是吹毛求疵:jQuery使用innerHTML
,尽管他们使用得很正确;)。
var myInterval = setInterval(function(){display_skills()}, 2000);