0

日付(季節)に応じて異なるcssファイルをロードしようとしています。

ここからstackoverflowで画像スクリプトを変更しようとしましたが、うまくいきませんでした。

誰かが私にそれがどこで間違っているのか指摘できますか?

<link href="/css_season/default.css" rel="stylesheet" type="text/css" onload="logo(this)">
function logo(link) {
  var d = new Date();
  var Today = d.getDate();
  var Month = d.getMonth();
  var src;
  if (Month === 4 && (Today >= 1 && Today <= 30)) {
    src = "/css_season/easter.css";
  } else if (Month === 7 && (Today >= 1 && Today <= 31)) {
    src = "/css_season/vacation.css";
  } else if ((Month === 8 && Today >= 30) || (Month === 0 && Today <= 2)) {
    src = "/css_season/vacation.css";
  } else if (Month === 12 && (Today >= 15 && Today <= 31)) {
    src = "/css_season/holidays.css";
  } 
  link.href=href;
}
4

2 に答える 2

1

js関数の最後に間違った割り当てがあります。
link.href=href;する必要がありますlink.href = src;

乾杯

于 2012-12-28T10:14:12.583 に答える
1

が定義されていないlink.href=hrefため、割り当ては機能しません。hrefまた、logo関数を入れて<body onload="logo();">linkタグにid属性を付けます。

これはあなたのために働くはずです:

<html>
<head>
<link id="cssId" href="/css_season/default.css" rel="stylesheet" type="text/css"/>
</head>
<body onload="logo();">
 <!-- body content here -->
</body>

function logo() {
  var d = new Date();
  var Today = d.getDate();
  var Month = d.getMonth();
  var src;
  if (Month === 4 && (Today >= 1 && Today <= 30))
    src = "/css_season/easter.css"; 
  else if (Month === 7 && (Today >= 1 && Today <= 31))
    src = "/css_season/vacation.css";
  else if ((Month === 8 && Today >= 30) || (Month === 0 && Today <= 2))
    src = "/css_season/vacation.css";
  else if (Month === 12 && (Today >= 15 && Today <= 31))
    src = "/css_season/holidays.css";

  document.getElementById('cssId').href=src;
}
于 2012-12-28T10:17:21.440 に答える