可以使一些變化
一禁止從肯定你在哪裏調用定時器功能(更好,如果 有駝峯)
function Timer() {
window.setInterval("changeImage()", 5000);
}
相反,你可以直接使用
setInterval(changeImage, 5000);
changeImage
是一個回調
2.Could搞不懂這是什麼意思線
var bgImg = document.body.style.backgroundImage();
不確定是否可以附加功能的場所。
反正這下面片斷可能是有用的
window.onload = function() {
// Array of Images
var backgroundImg=["https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRyB57zuc4bms-hDtWMa-4BZvscIlJDm4r7a9WLaO4SAxUvKM-DDA",
"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQBinSpWOvAtkxjmkf709O3rjH2ObRbWAEn9s0JcWaeL6LMtCbOrQ",
"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRKY4J2qIFqkuDnABMzeypywbMSZL1cleS8vpySz0KD02wOYORU1g",
"https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcRQkdQT0zN0xDVP-VuvwojSbS5dOstX14eZvJCOWNPxKJ5dWTIc"
]
setInterval(changeImage, 5000);
function changeImage() {
var i = Math.floor((Math.random() * 3));
document.body.style.backgroundImage = "url('"+backgroundImg[i]+"')";
}
}
DEMO
來源
2016-01-09 06:21:42
brk
見http://stackoverflow.com/questions/34669608/javascript-foreach-loop-through-an-array-of-hex -values-using-settimeout-to-loop – guest271314
@凱爾麥卡錫:我建議改爲獲得隨機值。創建一個總圖像長度的數組。洗牌。並從索引0開始,如果你到達最終索引。然後再洗牌並繼續。 dueto這可以避免相同的圖像Repetition – Arunkumar
當你添加斷點並逐步完成代碼時,你會看到什麼? ( –