我正在尝试在我的MVC应用程序中实现一个功能,该功能使用JavaScript根据一年中的月份更改主徽标。
我正在Layout.cshtml视图中设置图像,如下所示:
<img id="logo" src="~/Images/Logos/default.png" alt="Logo" style="max-width: 300px" />
我的JavaScript:
$(document).ready(function () {
var d = new Date();
var Month = d.getMonth() + 1;
var img = document.getElementById("logo");
var src;
switch (Month) {
default:
src = "Images/Logos/default.png"; // Set Default Logo
break;
case 12:
src = "Images/Logos/Christmas.png"; // Christmas
break;
case 11:
src = "Images/Logos/Thankgiving.png"; // Thanksgiving
break;
case 10:
src = "Images/Logos/Halloween.png"; // Halloween
break;
case 7:
src = "Images/Logos/Fourth.png"; // Fourth of July
break;
case 2:
src = "Images/Logos/Valentines.png"; // Valentines Day
break;
case 1:
src = "Images/Logos/NewYear.png"; // New Years
break;
}
img.src = src;
});
它在一定程度上起作用。它将更改我的“仪表盘”视图上的图像,这是应用程序在启动时打开的位置(以防万一),但是,它会使所有其他视图上的图像看起来好像不存在。
希望有人遇到了同样的问题,或者有人可以告诉我我的JS是否有问题。
谢谢!
答案 0 :(得分:0)
您确定src路径正确吗?您的.html中有一个“〜”,而脚本中没有。但是,我习惯将“默认”情况移动到开关底部。不知道是否可以解决问题。
答案 1 :(得分:0)
我意识到自己写的路径不正确。
正确的路径:
$(document).ready(function () {
var d = new Date();
var Month = d.getMonth() + 1;
var img = document.getElementById("logo");
var src;
switch (Month) {
default:
src = "../Images/Logos/default.png"; // Set Default Logo
break;
case 12:
src = "../Images/Logos/Christmas.png"; // Christmas
break;
case 11:
src = "../Images/Logos/Thanksgiving.png"; // Thanksgiving
break;
case 10:
src = "../Images/Logos/Halloween.png"; // Halloween
break;
case 7:
src = "../Images/Logos/Fourth.png"; // Fourth of July
break;
case 2:
src = "../Images/Logos/Valentines.png"; // Valentines Day
break;
case 1:
src = "../Images/Logos/NewYear.png"; // New Years
break;
}
img.src = src;
});
感谢所有提供帮助的人!