🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

635閲覧

html 時間指定バナー表示非常時

mannakashima

総合スコア5

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2019/11/28 04:35

前提・実現したいこと

時間を設定して表示非表示をしたいのですが
外部コードにすると動きません

発生している問題・エラーメッセージ

Cannot read property 'style' of null

該当のソースコード

<!doctype html> <html> <head> <script src="js/timer.js"></script> </head> <body> <div id="event"> <img src="イメージ1" width="100%" alt=""/>    <img src="イメージ2" width="100%" alt=""/> </div> <!--②--> <div id="special"> <img src="イメージ3" width="100%" alt=""/> <img src="イメージ4" width="100%" alt=""/> </div> <!--時間外--> <div id="usually"> <img src="イメージ5" width="100%" height="100%" alt=""/>    <img src="イメージ6" width="100%" alt=""/> </div>

【jsファイル:timer.js】

var startday = new Date('2019/11/28 10:58:00');
var midday = new Date('2019/11/28 10:59:00');
var endday = new Date('2019/11/28 11:00:00');

var today = new Date();
if ( startday < today && today < midday ){
document.getElementById("event").style.display="block";
document.getElementById("special").style.display="none";
document.getElementById("usually").style.display="none";
} else if ( midday < today && today < endday ) {
document.getElementById("event").style.display="none";
document.getElementById("special").style.display="block";
document.getElementById("usually").style.display="none";
}else{
document.getElementById("event").style.display="none";
document.getElementById("special").style.display="none";
document.getElementById("usually").style.display="block";
}

試したこと

html内に記載するとうごくのですが外部ファイルとうごきません。
よろしくお願いします。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

<head></head>内で読み込むとbodyの各要素の生成前に実行されてしまいます。
bodyの最後でjsファイルを読み込むようにしてみてください。

投稿2019/11/28 04:47

dice142

総合スコア5158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mannakashima

2019/11/28 05:09

ありがとうございます。 解決することができました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問