图像每年每天都在变化(365天)

时间:2011-06-21 21:40:13

标签: javascript

我的代码需要一些帮助,有366张图片需要更改,名为001.jpg,002.jpg ... 366.jpg。它获取日期并为其绘制图片。代码有效,但我无法在img标签中输出。

<html>
<head>
<script type="text/javascript">

var firstJan = Math.floor((new Date().setFullYear(new Date().getFullYear(),0,1))/86400000);
var today = Math.ceil((new Date().getTime())/86400000);
var dayOfYear = today-firstJan;

var bgdImage;
if((dayOfYear+'').length == 1)
bgdImage = '00'+dayOfYear+'.jpg';
else if((dayOfYear+'').length == 2)
bgdImage = '0'+dayOfYear+'.jpg';
else
bgdImage = dayOfYear+'.jpg';

document.getElementById('bla').src = "bgdImage";
</script>

</head>
<body onload=img()>

<img id="bla" width="100%" height="100%" />

</body>
</html>

3 个答案:

答案 0 :(得分:5)

取消双引号:

document.getElementById('bla').src = bgdImage;

答案 1 :(得分:2)

就像我在初始评论中所说的那样,将代码放在ìmg()中调用的函数<body onload="javascript:img();">中。我还从输出语句中删除了引号到src。 document.getElementById('bla').src = bgdImage; bgdImage是您的变量,将其放在引号"bgdImage"中只是一个字符串,其中包含文本bgdImage。

<html>
<head>
<script type="text/javascript">

function img()
{
var firstJan = Math.floor((new Date().setFullYear(new Date().getFullYear(),0,1))/86400000);
var today = Math.ceil((new Date().getTime())/86400000);
var dayOfYear = today-firstJan;

var bgdImage;
if((dayOfYear+'').length == 1)
bgdImage = '00'+dayOfYear+'.jpg';
else if((dayOfYear+'').length == 2)
bgdImage = '0'+dayOfYear+'.jpg';
else
bgdImage = dayOfYear+'.jpg';

document.getElementById('bla').src = bgdImage;
}
</script>

</head>
<body onload="javascript:img();">

<img id="bla" width="100%" height="100%" />

</body>
</html>

答案 2 :(得分:0)

代码中的一个问题就像是将图像的src设置为字符串“bgdImage”而不是变量。尝试用以下代码替换该行:

document.getElementById('bla').src = bgdImage;

<强>更新

在设置img标记之前,您似乎也试图运行代码。尝试将脚本移动到img标记之后,或设置超时以在页面完全呈现后执行它。