質問をすることでしか得られない、回答やアドバイスがある。

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

ただいまの
回答率

88.78%

Provisional headers are shownでjsが読み込まれない?

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 406

pasomtr

score 19

今回、https://codepen.io/PaulVanO/pen/GgGeyEのメニューエフェクトを使用しようとしているのですが、エフェクトが上手く機能しません。

エラーとしては、

  1. Provisional headers are shown
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36
    くらいしかデベロッパーツールでは確認出来ません。
    コンソールには何も表示されませんでした。
    また、statusにはFinishedと表示されます。
    これはどういう意味なのでしょうか。。

なにが問題か、特定頂けませんでしょうか。。。。
お願いします。

HTML

<!doctype html>

<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <link rel="profile" href="https://gmpg.org/xfn/11" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/wow/0.1.12/wow.min.js"></script>
    <script type="text/javascript" src="main.js"></script>
  <link rel="stylesheet" media="all" href="style.css" />
  <link rel="stylesheet" media="all" href="https://daneden.github.io/animate.css/animate.min.css" />

</head>
<body>
  <div class="container">
    <h1>Top right corner, click it!</h1>
    <p>View type 2 <a href="https://codepen.io/PaulVanO/pen/GgGeyE" target="_blank">here</a></p>
  </div>

  <div class="button_container" id="toggle">
    <span class="top"></span>
    <span class="middle"></span>
    <span class="bottom"></span>
  </div>

  <div class="overlay" id="overlay">
    <nav class="overlay-menu">
      <ul>
        <li ><a href="#">Home</a></li>
        <li><a href="#">About</a></li>
        <li><a href="#">Work</a></li>
        <li><a href="#">Contact</a></li>
      </ul>
    </nav>
  </div>
</body>

コンパイル済みCSS

@import url(https://fonts.googleapis.com/css?family=Vollkorn|Roboto);

body {
    background: #f5f5f5
}

.container {
    position: absolute;
    width: 100%;
    height: 100%;
    text-align: center;
    top: 40%;
    left: 0;
    margin: 0 auto;
    font-family: "Roboto", sans-serif
}

.container p {
    font-size: 20px
}

.container a {
    display: inline-block;
    position: relative;
    text-align: center;
    color: #ff5252;
    text-decoration: none;
    font-size: 20px;
    overflow: hidden;
    top: 5px
}

.container a:after {
    content: "";
    position: absolute;
    background: #ff5252;
    height: 2px;
    width: 0%;
    transform: translateX(-50%);
    left: 50%;
    bottom: 0;
    transition: 0.35s ease
}

.container a:hover:after {
    width: 100%
}

h1 {
    position: relative;
    text-align: center;
    font-family: "Vollkorn", sans-serif
}

.button_container {
    position: fixed;
    top: 5%;
    right: 2%;
    height: 27px;
    width: 35px;
    cursor: pointer;
    z-index: 100;
    transition: opacity 0.25s ease
}

.button_container:hover {
    opacity: 0.7
}

.button_container.active .top {
    transform: translateY(10px) translateX(0) rotate(45deg);
    background: #fff
}

.button_container.active .middle {
    opacity: 0;
    background: #fff
}

.button_container.active .bottom {
    transform: translateY(-10px) translateX(0) rotate(-45deg);
    background: #fff
}

.button_container span {
    background: #ff5252;
    border: none;
    height: 5px;
    width: 100%;
    position: absolute;
    top: 0px;
    left: 0;
    transition: all 0.35s ease;
    cursor: pointer
}

.button_container span:nth-of-type(2) {
    top: 10px
}

.button_container span:nth-of-type(3) {
    top: 20px
}

.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
    visibility: hidden;
    transition: opacity 0.35s, visibility 0.35s, width 0.35s;
    z-index: 50
}

.overlay:before {
    content: "";
    background: #ff5252;
    left: -55%;
    top: 0;
    width: 50%;
    height: 100%;
    position: absolute;
    transition: left 0.35s ease
}

.overlay:after {
    content: "";
    background: #ff5252;
    right: -55%;
    top: 0;
    width: 50%;
    height: 100%;
    position: absolute;
    transition: all 0.35s ease
}

.overlay.open {
    opacity: 0.9;
    visibility: visible;
    height: 100%
}

.overlay.open:before {
    left: 0
}

.overlay.open:after {
    right: 0
}

.overlay.open li {
    animation: fadeInRight 0.5s ease forwards;
    animation-delay: 0.35s
}

.overlay.open li:nth-of-type(2) {
    animation-delay: 0.45s
}

.overlay.open li:nth-of-type(3) {
    animation-delay: 0.55s
}

.overlay.open li:nth-of-type(4) {
    animation-delay: 0.65s
}

.overlay nav {
    position: relative;
    height: 70%;
    top: 50%;
    transform: translateY(-50%);
    font-size: 50px;
    font-family: "Vollkorn", serif;
    font-weight: 400;
    text-align: center;
    z-index: 100
}

.overlay ul {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    display: inline-block;
    position: relative;
    height: 100%
}

.overlay ul li {
    display: block;
    height: 25%;
    height: calc(100% / 4);
    min-height: 50px;
    position: relative;
    opacity: 0
}

.overlay ul li a {
    display: block;
    position: relative;
    color: #fff;
    text-decoration: none;
    overflow: hidden
}

.overlay ul li a:hover:after,
.overlay ul li a:focus:after,
.overlay ul li a:active:after {
    width: 100%
}

.overlay ul li a:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0%;
    transform: translateX(-50%);
    height: 3px;
    background: #fff;
    transition: 0.35s
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        left: 20%
    }

    100% {
        opacity: 1;
        left: 0
    }
}

JS

(function() {
  $('#toggle').click(function() {
    $(this).toggleClass('active');
    $('#overlay').toggleClass('open');
   });
})();
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

<head>タグの中に<script>を書いてjsファイルを読み込む場合、そのファイルが実行される時点ではまだ<body>タグの中が解析されておらずDOMツリーが存在しません。
なので $('#toggle') などのようにDOMを取得しようとしても何も取得できずに終わります。

js の1行目と最後の行を以下のように書き換えてください。

$(function() {
  // 中はそのまま
});

これにより<body>タグの中の解析が終わってDOMツリーが構築されたあとにコードを実行させることができます。


別解として <script> タグを <body>タグの中の一番最後に書くというのもあります。

<body>
  <!-- 省略 -->

  <script src="main.js"></script>
</body>

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/04/29 12:50

    wtokuno様
    本当にありがとう御座います!!

    ご丁寧なアドバイスで大変わかりやすく心より感謝申し上げます!

    キャンセル

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

  • ただいまの回答率 88.78%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る