我有這個代碼,我試圖讓其中一個div動畫。 div應該向下移動,然後降低20%後應該開始向上移動,然後再向下移動,等等。Javascript的setInterval()只運行一次函數
問題是,看起來,代碼只運行一次。這意味着div只下跌2%,然後停留在那個位置。
的Javascript
var head = document.getElementById('char_furuta_head');
function anime() {
var direction = 1; /* 1 = down, -1 = up */
setInterval(frame, 1000);
function frame() {
str = head.style.top;
str = substring(0,str.length);
var lel = parseInt(str);
console.log(lel);
if (direction == 1) {
lel += 2;
head.style.top = lel + '%';
if(lel == 20) { direction = -1; };
} else {
lel -= 2;
head.style.top = lel + '%';
if(lel == 0) { direction = 1; };
}
}
}
它只有一次運行的可能性較小,而且更有可能您的邏輯只會導致頁面發生重大更改一次。 –
console.log()是你的朋友...用它來看看會發生什麼... – epascarello