Javascript根据当天的时间每分钟显示一张图片
问题描述:
我是JavaScript的新手。我正在尝试创建一个JavaScript,可以在一天中的每一分钟显示一张单独的,不同的照片。Javascript根据当天的时间每分钟显示一张图片
我正在用1440张图像(每分钟一张)填满一个文件夹。这些文件被相应地命名(即:对于2:45,图像将是0245.jpg
)。
我到目前为止所做的是创建一个显示时间的时钟,但我需要使用这些字符串来请求一个具有该名称的新对象。我尝试了几个选项,但都没有工作。对于高级球员来说可能很简单,但我无法让它工作。 这是我已经试过到目前为止(多种类型):
*function date_time(id)
{
date = new Date;
year = date.getFullYear();
month = date.getMonth();
months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
d = date.getDate();
day = date.getDay();
days = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
h = date.getHours();
if(h<10)
{
h = "0"+h;
}
m = date.getMinutes();
if(m<10)
{
m = "0"+m;
}
s = date.getSeconds();
if(s<10)
{
s = "0"+s;
}
result = ''+days[day]+' '+months[month]+' '+d+' '+year+' '+h+':'+m;
document.getElementById(id).innerHTML = result;
setTimeout('date_time("'+id+'");','60000');
return true;
}
setInterval(function() {
var minutePhotoElement = document.getElementById('minutePhoto');
minutePhoto.src = "'img/('result').jpg'";
}, 60000);
//-->*
答
没有你的代码是很难猜测什么适合你更好,但也许这是一个选项。
请看:
var previousImg = null;
function updateImage() {
var d = new Date();
var h = d.getHours().toString();
var m = d.getMinutes().toString();
if (h < 10) h = '0' + h;
if (m < 10) m = '0' + m;
var img = h + m + '.jpg';
if (previousImg !== img) {
var el = document.getElementById('yourImgElementId');
el.src = '/to/your/path/' + img;
previousImg = img;
}
}
updateImage(); // call the first time
setInterval(updateImage, 20 * 1000); // update each 20 seconds
+0
谢谢。你的代码更有意义,看起来更干净。我无法让它工作。它一定是我,错过或错放东西。我会继续尝试(对不起,刚刚开始使用JS)。 – theShader
你可以发表你已经尝试了代码? – Gnarlywhale
代码在哪里? – user5173426
好吧,我已经使用我现在正在处理的代码更新了原始帖子......它已经改变很多次了。 – theShader