-1
這裏是我當前的代碼:JavaScript setInterval功能:bug還是不是?
的var intervalStreet = 1000;
var richPersonOnStreet = false;
var poorPersonOnStreet = false;
function streetIntervalEvent() {
var peopleRandomChance = Math.random();
document.getElementById("number").innerHTML = peopleRandomChance;
if (peopleRandomChance <= 0.1) {
richPersonOnStreet = true;
document.getElementById("streetText").innerHTML = "A rich man is on the street!";
intervalStreet = 5000;
setInterval(function(){var richPersonOnStreet = false; document.getElementById("streetText").innerHTML = "Nothing is happening on the street...";}, 5000);
intervalStreet = 1000;
}
}
setInterval(streetIntervalEvent, intervalStreet);
所有的代碼看起來罰款和花花公子,但在我離開這個程序了一會兒,間隔變得完全搞砸了。嘗試離開這個地址http://jsfiddle.net/w0gerao3/ 10分鐘...你會明白我的意思。
這是setInterval函數中的一個可解決的錯誤嗎?
不可以,這是你自己的代碼可修復的錯誤。從本身由'setInterval()'觸發的函數調用'setInterval()'可能不是您想要做的事情。 – 2015-03-02 14:49:09
你想用你的代碼完成什麼?你在函數聲明後設置了一個初始間隔,但是在它裏面你再次執行它;這可能是造成混亂時間間隔的原因嗎? – 2015-03-02 14:49:53
你不會和'setTimeout'和'setInterval'混淆嗎? – axelduch 2015-03-02 14:53:39