- ベストアンサー
時間によって読み込むjavascriptを変える方法
ホームページで使用しているjavascriptを、 例えばAMとPMとで読み込むjavascriptを切り替える方法はありますか?
- みんなの回答 (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に変更して下さい。
その他の回答 (1)
- hachi_08
- ベストアンサー率58% (44/75)
<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 の辺りをいじってみて下さい。 もしやりたいことが違っていた場合は申し訳ありません。
お礼
ありがとうございます!やってみます!
お礼
ありがとうございます!助かりました!!