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

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

ただいまの
回答率

90.61%

  • JavaScript

    15921questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

JSfiddleでjavascriptが機能しないケースについて

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 267
退会済みユーザー

退会済みユーザー

下記のJSfiddleの中身をそのままサイトにコピペすると、きちんと「見出しの固定」が機能します。
しかしなぜか、JSfiddleでは機能せず、見出しはスクロールに応じて画面から消えてしまいます。
https://jsfiddle.net/1r78k44j/

どうすればJSfiddleでも機能するようになるのか、お分かりになる方いらっしゃいませんでしょうか?

尚、上のJSfiddleに書いてあるjavascriptは、下の「FixedMidashi」というライブラリの中身全てで、それだけをコピペしたものです。

■「FixedMidashi」
http://hp.vector.co.jp/authors/VA056612/fixed_midashi/manual/index.html
→テーブルの見出しを固定するライブラリ

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 2

+2

Uncaught ReferenceError: FixedMidashi is not defined

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/04/18 23:04 編集

    ありがとうございます。どうすればJSfiddleでも機能するようになるのでしょうか?初心者なものですみませんです。

    キャンセル

checkベストアンサー

0

  • [LOAD TYPE] が [onLoad]
  • window.onload = function () {};
  • 上書き
  • スコープ

要ソース確認。

  • view-source:https://fiddle.jshell.net/1r78k44j/show/light/

Re: matsuzakaq さん

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/04/18 23:03 編集

    ありがとうございます。

    <script>
    window.onload = function()
    {
    FixedMidashi.create();
    };
    </script>

    の部分を、

    <script>
    $(window).load(function(){
    FixedMidashi.create();
    });
    </script>

    とか

    <script>
    function($){
    FixedMidashi.create();
    });
    </script>

    とかにすれば直るよ。ということでしょうか?

    それとも他の部分でしょうか?

    キャンセル

  • 2018/04/18 23:05

    window.onload と [LOAD TYPE] が [onLoad] なコード、どちらが先に実行されるか、確認しましたか。

    キャンセル

  • 2018/04/18 23:09

    失礼しました。そのような意図でのご回答だったのですね。

    window.onload
    →「読み込んだときに実行してね」という意味だと思っています。

    [LOAD TYPE] が [onLoad] なコード
    →初耳でよくわかりません。

    ただ文章から察するに、「書く順番を変えればいい」ということかと思います。そこで、先の部分をjavascript記入欄の一番最後に書いてみたりしたのですが、やっぱりうまくいきませんでした。(>_<)

    キャンセル

  • 2018/04/18 23:18

    私も少し、勘違いしていたので、親記事に追記しておきました。

    キャンセル

  • 2018/04/18 23:20

    ご回答の編集ありがとうございます。

    書く順番というと、下記の部分ですよね。

    window.onload = function()
    {
    FixedMidashi.create();
    };

    順番について考えられるのは上記の部分を、
    ➀HTMLの最初(質問にある場所)
    ➁HTMLの最後
    ③javascriptの最初
    ➃javascriptの最後

    だと思いますが、どれでも機能しないようなのです…

    あと、ご回答にあるリンク先は質問にあるものと同じのようですが、これはお間違いでなく、何か意図あってのものなのでしょうか?

    すみません、業界のやりとりはまったくしらないものでして、何かの意図だとしたら、よくわかりませんでした。

    キャンセル

  • 2018/04/18 23:24 編集

    >要ソース確認

    あ、なるほど。質問にあるJSfiddleだと、javascript記入欄に書いたものが読み込まれてないぞ。

    という意図で、同じリンク先を貼ってくださったのですか?

    すると、うーん。それはなぜで、どうしたらいいのでしょうか?順番を変えてもダメとなると…?

    キャンセル

  • 2018/04/18 23:27

    https://fiddle.jshell.net/1r78k44j/show/light/ のソースを確認して下さい

    キャンセル

  • 2018/04/18 23:28 編集

    ごめんなさい。ソースを拝見しても、まったくわからないです。。

    HTMLに書いたはずの

    <script>
    window.onload = function()
    {
    FixedMidashi.create();
    };
    </script>

    がなくなってるなぁ。なんでだろう。

    くらいまでしかわかりません。

    キャンセル

  • 2018/04/18 23:31

    キーワードでググる事を覚えて下さい。
    「window.onload 上書き」

    キャンセル

  • 2018/04/18 23:37 編集

    上書きしてしまうこちらを、
    window.onload = function()
    {
    FixedMidashi.create();
    };

    上書きしないこちらに
    window.addEventListener('load', function() {
    FixedMidashi.create();
    })

    変えてみたのですが、ダメなようです…。

    どうしたらできるようになるのでしょうか?

    キャンセル

  • 2018/04/18 23:40

    スクリプトのLoad Typeを「No wrap - in <body>」に変えてご覧?
    すると, loadイベントの前にスクリプトが実行されてどっとはらい

    キャンセル

  • 2018/04/18 23:50 編集

    defghi1977さん
    こんばんは。
    仰るようにしたらできました。とてもうれしいです。誠にありがとうございます。どうやら、

    <script>
    window.addEventListener('load', function() {
    FixedMidashi.create();
    })
    </script>

    を書く場所は上でいいけれど、ライブラリの場所は

    </body>の直前でなければならなかったのですね。


    think49さん
    おかげさまでいろいろと勉強になりました。
    何度もご返信くださってありがとうございました。

    キャンセル

  • 2018/04/18 23:57

    原因をご自身の頭の中で明快になるまで、確認しておくことをお勧めします。
    問題解決がゴールではないと思いますので…。

    キャンセル

  • 2018/04/19 00:21

    仰る通りだと思います。ご指導ありがとうございます。

    ただ、いくつか検索しても整合性が取れず、原因が理解できません。

    今回は問題解決と、原因の理解と、ググる力のうち、ググる力はあきらめまして、どうかthink49さん、原因の理解までお手伝いいただけませんでしょうか?

    つまるところ、なぜ「No wrap - in <body>」に変えたら(ライブラリを</body>の直前に書いたら)できるようになったのですか?

    キャンセル

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

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

関連した質問

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

  • JavaScript

    15921questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。