根据日期更改图像源

时间:2011-11-23 19:21:26

标签: javascript date

我尝试做的是根据月份和日期更改着陆页图像。麻烦的是,当我实现此代码时,我收到错误,这里是代码:

function kblogo() { 
var d = new Date();
var Today = d.getDate();
var Month = d.getMonth();
var logoSrc;
if (Month == 10 && (Today >= 23 && Today <= 26)) {
    logoSrc = "Images/doodles/KBThanksgiving.png";
} else if (Month == 11 && (Today >= 23 && Today <= 26)) {
    logoSrc = "Images/doodles/KBHolidays.png";
} else if ((Month == 11 && Today >= 30) || (Month == 0 && Today <= 2)) {
    logoSrc = "Images/doodles/KBNewYear.png";
} else if (Month == 6 && (Today >= 3 && Today <= 5)) {
    logoSrc = "Images/doodles/KBJuly4.png";
} else {
    logoSrc = "Images/KB.png";
}
document.getElementById("kbLogo").src = logoSrc;
}

刚刚将代码更改为此我即将对其进行测试。任何想法让我知道。

我已经通过一些不同的验证器运行它并找到了不同的东西并修复了它们但它已经固定,因为我已经得到它并且当我实现它时它仍然会崩溃IE和FF。

<img id="Logo" src="Images/default.png" alt="KnowledgeBase" width="75%" onload="logo()" />

以上是请求的img标记

3 个答案:

答案 0 :(得分:0)

首先。 您的<img>id="Logo",但在代码中您编写了document.getElementById("kbLogo")

二。 您的<img>src="mages/default.png",但在代码中您使用了"Images/default.png";

答案 1 :(得分:0)

错误是什么?

看到你有'Logo'和'kbLogo'图像ID。 不是很重要但是,为什么要使用===操作数而不是==?

记住月份= 10岁而十一月份而不是十月份。

我测试了下一个代码并为我工作:

var d = new Date();
var Today = d.getDate();
var Month = d.getMonth();
if (Month == 10 && (Today >= 23 && Today <= 26) ) {
    console.log("Images/doodles/blah1.png");
} else if (Month == 11 && (Today >= 23 && Today <= 26) ) {
    console.log("Images/doodles/blah2.png");
} else if ( (Month == 11 && Today >= 30) || (Month == 0 && Today <= 2) ) {
    console.log("Images/doodles/blah3.png");
} else if (Month == 6 && (Today >= 3 && Today <= 5) ) {
    console.log("Images/doodles/blah4.png");
} else {
    console.log("Images/default.png");
} 

答案 2 :(得分:0)

您的徽标功能正在循环 - 如果已加载默认值,则无需加载默认值

DEMO

<img id="Logo" src="Images/default.png" alt="KnowledgeBase" width="75%" onload="logo(this)" />


function logo(img) {
  if (img.src.indexOf('default')==-1) return; // already changed 
  var d = new Date();
  var Today = d.getDate();
  var Month = d.getMonth();
  var src;
  if (Month === 10 && (Today >= 23 && Today <= 26)) {
    src = "Images/doodles/blah1.png";
  } else if (Month === 11 && (Today >= 23 && Today <= 26)) {
    src = "Images/doodles/blah2.png";
  } else if ((Month === 11 && Today >= 30) || (Month === 0 && Today <= 2)) {
    src = "Images/doodles/blah3.png";
  } else if (Month === 6 && (Today >= 3 && Today <= 5)) {
    src = "Images/doodles/blah4.png";
  } 
  img.src=src;
}