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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

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

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

1回答

850閲覧

グローバルナビの現在ページのactive付与について

m8o8e

総合スコア3

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

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

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/08/21 09:19

html

1 <div class="overlay overlay-scale pc-nav"> 2 <nav class="global-navigation"> 3 <ul class="flex"> 4 <li><a href="../index.html">ホーム</a></li> 5 <li><a href="../service/index.html">事業案内</a></li> 6 <li><a href="../company/index.html">会社案内</a></li> 7 <li><a href="../construction/index.html">施工事例</a></li> 8 <li><a href="../recruit/index.html">採用案内</a> 9 <ul class="child child01"> 10 <li><a href="../staff/index.html">社員紹介</a></li> 11 <li><a href="../flow/index.html">一日の流れ</a></li> 12 <li><a href="../faq/index.html">よくある質問</a></li> 13 </ul> 14 </li> 15<!-- 16 <li class="pn"><a href="./staff/index.html">社員紹介</a></li> 17 <li class="pn"><a href="./flow/index.html">一日の流れ</a></li> 18 <li class="pn"><a href="./faq/index.html">よくある質問</a></li> 19--> 20 <li class="pn"><a href="./contact/index.html">お問い合わせ</a></li> 21 </ul> 22 </nav> 23 </div> 24

css

1 2.pc-nav { 3 clear:both; 4 width:100%; 5 padding-top:20px; 6} 7 .pc-nav li { 8 font-size:16px; 9 letter-spacing:0.05em; 10 color:#fff; 11 } 12 .pc-nav li a { 13 color:#fff; 14 text-decoration:none; 15 } 16 .pc-nav li a:hover, 17 .pc-nav li a:active { 18 border-bottom:2px solid #fff; 19 } 20.pc-nav li a.active{border-bottom:2px solid #fff;} 21 22

js

1$(function(){ 2 $('.pc-nav li a').each(function(){ 3 var $href = $(this).attr('href'); 4 if(location.href.match($href)) { 5 $(this).addClass('active'); 6 } else { 7 $(this).removeClass('active'); 8 } 9 }); 10}); 11

上記のグローバルナビにjsで現在ページがわかるactiveクラスを付与しているのですが、
ホーム以外のページでもグローバルナビのホームがactiveになってしまいます。
ホーム以外のページではホームのボタンがactiveにならないようにするにはどうしたらいいでしょうか。

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

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

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

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

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

guest

回答1

0

相対パスで使用している ../.match メソッドでワイルドカードとして扱われているのが原因のようです。

多少強引ですが相対パスを完全なURLに置き換えて比較してみてはどうでしょうか。

JavaScript

1$(function () { 2 $(".pc-nav li a").each(function () { 3 var href = location.hostname; 4 5 href += $(this).attr('href').replace(//?(.+/)+/g, "/").replace(/^/?/, "/"); 6 7 if (location.href === href)) { 8 $(this).addClass("active"); 9 } else { 10 $(this).removeClass("active"); 11 } 12 }); 13});

投稿2020/08/21 10:20

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問