3 回答

TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊
您的函數(shù)一次遍歷所有數(shù)組,這就是為什么您只看到最后一個(gè)。
在函數(shù)外保留一個(gè)計(jì)數(shù)器并在每次調(diào)用時(shí)增加它:
var bunnyArr = ["Rabbits don't eat root vegetables, such as carrots", "baby rabbits are called kittens", "A group of rabbits are called a fluffel"];
var index = 0;
var total = bunnyArr.length;
function bunnyStat() {
if (index == total) {
index = 0;
}
document.getElementById('listItem1').textContent = bunnyArr[index++];
}
setInterval(bunnyStat, 10000);
<div id="listItem1"></div>

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊
其他人給出了正確的答案。作為獎(jiǎng)勵(lì),我隨機(jī)化了數(shù)組,而不是在同一序列上循環(huán)。
var lastBunnyStat = 0;
var bunnyArr = [
"Rabbits don't eat root vegetables, such as carrots",
"Baby rabbits are called kittens",
"A group of rabbits are called a fluffel",
"Rabbits can turn their ears 180 degrees",
"Their ears can pinpoint the exact location of a sound",
"Rabbits don’t make good pals."
];
bunnyArr.sort(function() {
return 0.5 - Math.random();
});
// console.log(bunnyArr);
function bunnyStat() {
document.getElementById('listItem1').textContent = bunnyArr[lastBunnyStat++];
if (lastBunnyStat >= bunnyArr.length) {
lastBunnyStat = 0;
bunnyArr.sort(function() {
return 0.5 - Math.random();
});
// console.log('endofloop');console.log(bunnyArr);
}
}
setInterval(bunnyStat, 1200);//change to 10000

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超3個(gè)贊
這是因?yàn)閎unnyStat()它非??焖俚匮h(huán)遍歷數(shù)組的所有三個(gè)元素,并在最后一個(gè)元素上結(jié)束。試試這樣的:
var lastBunnyStat = 0;
var bunnyArr = [
"Rabbits don't eat root vegetables, such as carrots",
"baby rabbits are called kittens",
"A group of rabbits are called a fluffel"
];
function bunnyStat() {
document.getElementById('listItem1').textContent = bunnyArr[lastBunnyStat++];
if (lastBunnyStat >= bunnyArr.length) {
lastBunnyStat = 0;
}
}
setInterval(bunnyStat, 10000);
添加回答
舉報(bào)