我的代码需要一些帮助,有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>
答案 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
标记之后,或设置超时以在页面完全呈现后执行它。