限定しりとり

codepenにて仮で自分のサイトを作成しようと思い、画面を読み込む間ロード中のアニメーションをCSSで表示させ、読み込み終えた後で関数でアニメーションを消す動作をHTML内に書き込んだのですが全く反応がありません。

実際に記述した場所→ https://codepen.io/kazunaru/pen/jdxLby


document.getElementsClassName("sk-cube-grid").style["display"]="none";
document.getElementById("meinsite").style["display"]="inline";

ページを読み込むのが完了したらクラスを読み取り、ロードのアニメーションを非表示にしてメインテキストのidを取得して表示させる。

という動作をしたいのですが実際にはメインテキストが隠れたままでロードのアニメーションが残ったままです。codeペンにJSを書く際何度か読み取ってもらえず実行できないこともありました。

 HTMLにJSを書く場所がおかしいのかまたはそもそも記述がおかしいのかご教示願いたいです。
また、まだHTML,CSS,javascriptを学んで1か月も経たないのでコードの読みにくさや記述がおかしいところが多々あると思いますがその辺も併せて何かアドバイス頂けましたら幸いです。

A 回答 (1件)

こんばんは



ざっと目を通しただけなので、確認はしていませんが・・・

>document.getElementsClassName("sk-cube-grid")
部分でエラーになって停止しているのではないでしょうか?
また、getElementsByClassName で取得するのは要素そのものではなく、NodeListと言われる要素の配列的なオブジェクトですので、それに応じた扱い方をする必要があります。
https://developer.mozilla.org/ja/docs/Web/API/Do …
    • good
    • 0
この回答へのお礼

おっしゃる通りでClassの部分をIdに変えたところ、上手くロード読み込み時にメインテキストが反映されました。ロードのアニメーションはCSSで他のページを丸パクリしたところあり実際に理解できていなかったため今度から調べなおしてから実行するようにします。ありがとうございました

お礼日時:2019/02/18 03:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!