我知道这可能很容易,但我在JS中并不是那么好。 我有5张图片,我希望身体背景每天都是其中之一。
我试过这个:
<html>
<head>
<style>
#daily {
width:100%;
height:100%;
}
</style>
<script>
var backImg = ['http://example.com/path/image.gif', 'http://example.com/path/image1.gif', 'http://example.com/path/image2.gif', 'http://example.com/path/image3.gif' , 'http://example.com/path/image4.gif'];
var today = new Date();
var day = today.getDate();
document.getElementById('daily').style.backgroundImage = 'url('+backImg[--day]+')';
</script>
<body>
<div id="daily">
<p>some text</p>
</div>
</body>
但是,不幸的是它不起作用。 有没有其他方法可以做到这一点? 请帮助,谢谢
答案 0 :(得分:2)
由于您只有五张图片且日期可能超过5张,因此您需要使用剩余的值而不是日期。在您的代码中,将backImg[--day]
替换为backImg[day % backImg.length]
。
此外,您需要将您的功能放在onload事件中或页面底部。 e.g。
window.onload = function(){
// your code here
}
答案 1 :(得分:1)
如果您希望每天都有新图像,则应使用自纪元以来的天数作为计算的基础。然后使用modulo 5:
<script>
var backImg = ['http://example.com/path/image.gif', ..];
var today = new Date();
var day = Math.floor(today/8.64e7);
document.getElementById('daily').style.backgroundImage = 'url('+backImg[day%5]+')';
</script>
编辑:我除以8.64e7(8.64 * 10 ^ 7),这是每天的毫秒数。