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

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

詳細はこちら
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

jQuery

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

Q&A

解決済

1回答

899閲覧

jqueryのクリックイベントを設定すると、ページ遷移ができない件

enamode_

総合スコア3

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

jQuery

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

0グッド

0クリップ

投稿2020/12/06 03:14

色々ためした結果、jQueryの下記をコメントアウトすると、問題なく動くことがわかりました。

前提・実現したいこと

headerのnavリンクを押してもページが遷移しない問題を解決したい。

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

質問、失礼いたします。
初心者のため、わかりづらい点がありましたら申し訳ありません。

webサイト(5ページの構成)を現在制作中です。
その中でJQueryを使ってクリックイベントを設定し、headerのnavをクリックすると、下線をつける実装をしております。

5ページの中の4ページはnavをクリックすると各々のページに遷移するのですが、
1ページだけ、クリックをしてもページが遷移しません(クリックしても何も反応しない)。

色々試した結果、下線をつける、下記の部分のjQueryをコメントアウトすると、
該当ページも問題なくページ遷移することがわかりました。

該当ページと、他のページとの違いで思いつくことは、
中身にswiperを使っていることくらいです。

もし、解決策の可能性がわかればご教示いただきたいです。
よろしくお願いいたします。

考えられる原因があれば、ご教示いただきたいです。

エラーメッセージ とくにございません。

該当のソースコード HTML

<header id="js-header" class="header"> <div class="inner header__inner"> <div class="header__wrapper"> <h1 class="header__logo"><a href=""><img src="/assets/img/common/logo.png" alt="salon miiina"></a></h1> <nav class="header__nav"> <button id="js-toggle" class="header__burger" aria-label="menu"> <span class="header__burger--inline"></span> <span class="header__burger--inline"></span> <span class="header__burger--inline"></span> </button> <ul class="header__nav--list"> <li class="header__nav--item"> <a href="/index.html" class="header__nav--link js-navLink">Home</a> </li> <li class="header__nav--item"> <a href="/gallery/index.html" class="header__nav--link js-navLink">Gallery</a> </li> <li class="header__nav--item"> <a href="/orderchip/index.html" class="header__nav--link js-navLink is-active">Order chip</a> </li> <li class="header__nav--item"> <a href="/nail/index.html" class="header__nav--link js-navLink">ネイルサロン</a> </li> <li class="header__nav--item"> <a href="/yomogimushi/index.html" class="header__nav--link js-navLink">よもぎ蒸しサロン</a> </li> </ul> </nav><!-- /.header__nav --> <ul class="header__link--list"> <!-- <li class="header__link--item"> <a class="btn header__btn" href="https://ticket.tsuku2.jp/eventsStore.php?scd=0000116012">オンライン<br>ストア</a> </li> --> <li class="header__link--item"> <a class="btn header__btn" href="https://beauty.tsuku2.jp/c01ShopMenu.php?scd=0000116012">ご予約</a> </li> </ul> </div> </div><!-- /.header__inner --> <div id="js-overlay" class="header__overlay"></div> </header><!-- /.header -->

該当のソースコード jQuery

jQuery('.header__nav ul li a').click(function() { jQuery('.header__nav ul li a').removeClass('is-active'); jQuery(this).addClass('is-active'); return false; });

試したこと

・他のページのhtmlのheader部分を丸々コピペして誤入力がないか確認。
・リンク先のパスが間違っていないか確認。

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

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

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

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

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

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

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

tomtomtomtom

2020/12/06 03:35

?? return falseがあるので、クリックしても遷移しません。 クリックしたら、遷移させたいのか、下線を引きたいのか?? 遷移したら、当然ヘッダーを再読み込みします。 遷移した先のページで、そのページに該当するアンカーに下線を引きたいのかな? 申し訳ありませんが、質問者様の意図がはっきりわかりません^^;
enamode_

2020/12/06 04:43

ご覧くださりありがとうございます。 おっしゃる通り、実現したいのはクリックしたらページ遷移して、そのページのメニューの下に下線をひくことです。 このjQueryは検索したサイトからコピペしたもので、return falseがあるとページ遷移しないことも理解していませんでした。 私が思っていることを実現するにはどのようなコードが適切か、アドバイスを頂けないでしょうか。
guest

回答1

0

ベストアンサー

clickのコールバックがreturn falseしているときは
その要素のclickイベントは最終的にキャンセルされます

投稿2020/12/06 06:24

yambejp

総合スコア116690

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

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

enamode_

2020/12/06 06:56

ありがとうございます。勉強になりました。 今回の該当のメニュー部分に下線をひく実装は、jQueryをつかうまでもなく、 各々のページの該当の li > aにis-activeクラスをつけ、cssで指定することでできました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問