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

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

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

2回答

1666閲覧

wordpressのindex.phpにjQueryの一部が効かない

xminimx

総合スコア53

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2019/07/29 08:57

閲覧ありがとうございます。
wordpressで作成したindex.phpで以下のjQueryが動きません。

同じwp内のsingle.php(投稿記事個別ページ)や、大元のindexでは正常に動作するのですが
ハンバーガーメニューを作るための以下のコードが効きません。

jQuery

1 $('#humberger_btn').click(function(){ 2 if($('#header').hasClass('open')){ 3 $('#header').removeClass('open'); 4 }else{ 5 $('#header').addClass('open'); 6 } 7 });

上記コードの直後に書いた、以下のコードは問題なく動きます。

jQuery

1 $chPoint = 100; 2 $targetH = $('body'); 3 $(window).on('scroll', function(){ 4 var scrollTop = $(window).scrollTop(); 5 if(scrollTop >= $chPoint){ 6 $targetH.addClass('scroll'); 7 }else{ 8 $targetH.removeClass('scroll'); 9 } 10 });

サイトのフォルダ構成は以下の通りです。

index.php☆このページには効く
・/news
・・/wordpress
・・・/wp-contents
・・・・/themes
・・・・・/extheme
・・・・・・/index.php★このページに効かない
・・・・・・/single.php☆このページには効く
/assets
・/js
・・/common.js★このjsにハンバーガーメニューについて記載

私の知識だけでは正解にたどり着けなさそうなのでお力添えください。

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

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

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

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

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

yukikp

2019/07/29 09:31

ChromeのDevToolsで、なにかJavaScriptエラーが出ていませんか?
xminimx

2019/07/30 00:09

せっかくご指摘いただいたのですがごめんなさい、私のイージーミスでした! また次にお知恵をお借りする機会があればよろしくお願いいたします。
guest

回答2

0

自己解決

maisumakunさんからいただいたアドバイスをきっかけにもう一度落ち着いてコードを見直してみたところ、
index.phpで読み込んでいるhead.phpの位置がおかしかったのでそこを直したら問題なく動作しました!
根本的なところが問題でした、ありがとうございました。精進します。

投稿2019/07/29 09:30

xminimx

総合スコア53

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

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

0

外側に$(function(){...});がない、ということはありませんか?

$(function(){...});に入れなかった場合、JavaScriptはその場で実行されますので、$('#humberger_btn')と書かれたJavaScriptを、このボタンより上で読み込んでいると、ボタンが見つからず処理がスルーされます。

投稿2019/07/29 09:00

maisumakun

総合スコア145183

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

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

xminimx

2019/07/29 09:04

アドバイスありがとうございます。 前後にも他のコードを記述しており、それらをまとめてfunctionで囲っているのでそこは問題ないかと思います。また構成がほぼ同じである他のページは正常に動作するので別の問題なのかな…と考えています。 ただ「JavaScriptを、このボタンより上で読み込んでいると〜」という点が気になったので、自分でも見てみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問