根据日期改变图像

时间:2014-01-22 20:27:02

标签: javascript html image

我想在我的网站上添加一项功能,根据当天更改显示的图片。因为我是一个新手,所以我无法完全绕过它。我的图像存储在images / week2 / image_day_4中。我将尝试使用几个递增变量来访问图像值,因此如果日期是第2周的第4天,则代码应该读取类似

的内容
"images/week_" + week + "/image_day_" + day;

自会员资格开始以来,我每天都会增加。

有更好的方法吗?

2 个答案:

答案 0 :(得分:2)

因此,如果我理解正确的话,每天在一段长时间的会员资格中会显示出不同的形象。为什么你需要一周呢?一种解决方案是仅跟踪总天数并创建关键值对的基本JS对象。键可以是天数,值可以是图像的URL。例如:

JS用法:

var obj = {
    key1: value1,
    key2: value2
};

JS示例:

var membershipImages = {
    1: "images/day1.jpg",
    2: "images/thatThing.png"
};

然后在计算用户的会员日之后,您需要做的只是提取网址:

someObject.setSomeProperty(membershipImages.getProperty("1"));

答案 1 :(得分:1)

根据this documentation和此thread,您可以使用:

function getWeekNumber(d) {
    // Copy date so don't modify original
    d = new Date(+d);
    d.setHours(0, 0, 0);
    // Set to nearest Thursday: current date + 4 - current day number
    // Make Sunday's day number 7
    d.setDate(d.getDate() + 4 - (d.getDay() || 7));
    // Get first day of year
    var yearStart = new Date(d.getFullYear(), 0, 1);
    // Calculate full weeks to nearest Thursday
    var weekNo = Math.ceil((((d - yearStart) / 86400000) + 1) / 7)
    // Return array of year and week number
    return weekNo;
}

var path = "images/week_" + getWeekNumber(new Date()) + "/image_day_" + new Date().getDay();
alert(path);

JSFiddle

编辑:可以轻松转换new Date()语句以使用成员资格开始日期。