我正在製作一個基本的圖像滑塊(按next/prev按鈕,圖片發生變化)。我也試圖實現一個非常簡單的淡入淡出效果;要做到這一點,我有一個for循環,改變圖像的類,循環通過改變不透明度的類。代碼工作正常,做我想做的事情,但for循環執行得非常快,您不會注意到不透明度的變化。我看遍了,到處都有人提到setTimeout,但這隻會導致函數延遲啓動..我只想減慢我的for循環,以便您可以在視覺上注意到每次迭代。你如何減慢JavaScript中for循環的執行速度?
function nextphoto(){
for(var x = 0; x < 5; x++){
photo.className = fade[x];
}
i++;
if(i>19){
i=0;
}
photo.src = image[i];
for(var y = 4; y >= 0; y--){
photo.className = fade[y];
}
}
這是一種複雜的方式來做一些簡單的事情,爲什麼不使用CSS轉換和在傳出和傳入的div上切換單個類來設置不透明度?這樣,你只需要對傳入元素的類更改設置setTimeout。 – Sidd
也許'setInterval()'是操作延遲的正確方法。 –