• ベストアンサー

時間によって読み込むjavascriptを変える方法

ホームページで使用しているjavascriptを、 例えばAMとPMとで読み込むjavascriptを切り替える方法はありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Splatter
  • ベストアンサー率41% (181/440)
回答No.2

外部Javascriptのファイル名を切り替える、という 意味でよろしいでしょうか。CSSを切り替えるのと似ていますね。 まず、外部Jsは以下のように記述しておきましょう。 ポイントは、id属性に一意の名前を付けておくことです。 href属性は本来Javascriptのファイルパスを書きますが、 今回は空とします。(設定方法については後述) --------------------------------------------------- <link rel="javascript" type="text/javascript" href="" id="js" /> --------------------------------------------------- 次に、scriptタグにコードを追加します。 手順としては、まずonload(ページが読み込まれた時)で ファンクションを実行し、時刻を取得し、午前か午後を 判定し、それに応じてlinkタグのhref属性を設定します。 --------------------------------------------------- <script type="text/javascript"> <!-- // onloadでsetJavaScript()を実行する window.onload = setJavaScript(); // 適用するJavaScriptを設定する function setJavaScript(){ var amHour_start = 0; // AMの開始時刻 var amHour_end = 12; // AMの終了時刻 var now = new Date(); // 現在時刻 var nowHour = now.getHours(); // 現在の『時』 // AMならam.jsを、PMならpm.jsを外部Javascript名とする var jsFile = ((amHour_start <= nowHour && nowHour < amHour_end) ? "am.js" : "pm.js"); // linkタグのhref属性に外部Javascript名をセット document.getElementById('js').href=jsFile; } //--> </script> --------------------------------------------------- 以上のような感じです。動作確認はしておりませんが。。。 "am.js"、"pm.js"の部分は実際にhrefとして指定する 外部JavascriptへのURLに変更して下さい。

kaizoku12
質問者

お礼

ありがとうございます!助かりました!!

その他の回答 (1)

  • hachi_08
  • ベストアンサー率58% (44/75)
回答No.1

<head>~~</head> の間に、以下のコードを書いてみてはどうでしょうか? //----------------------------------------------------- <SCRIPT LANGUAGE="JavaScript"> <!-- time=(new Date()).getHours();//時間を取得 if(time>=0 && time<12){//0時~11時なら js="am.js"; }else{ js="pm.js"; } document.write("<script type='text/javascript\' src='"+js+"'></script>"); //--> </SCRIPT> //----------------------------------------------------- 0時~11時台であれば「am.js」を読み込みます。 それ以外は「pm.js」を読み込みます。 時間を変えたい場合は time>=0 && time<12 の辺りをいじってみて下さい。 もしやりたいことが違っていた場合は申し訳ありません。

kaizoku12
質問者

お礼

ありがとうございます!やってみます!

関連するQ&A