最終更新 1月7日19時
HTML, CSSコードに変更を加えました
前提・実現したいこと
jQueryを使った簡単なWebサイトを作成しています。
表示しているページに合わせてメニューのリストにクラスを与え、文字の色を変えたいです。
ですが、なかなか上手くいきません。
現在のソースを下記に記載いたします。
問題点が分からないため、該当以外の箇所のコードも添付させて頂きます。
ファイルの読み込み等に不備があった場合も、どうかご指摘ください。
該当のソースコード
HTML
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 7 <title>test</title> 8 9 <script 10 src="https://code.jquery.com/jquery-3.4.1.js" 11 integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU=" 12 crossorigin="anonymous"></script> 13 <script type="text/javascript" src="./script.js"></script> 14 <link rel="stylesheet" href="./style.css"> 15 16</head> 17<body> 18 <header> 19 <nav id="menu"> 20 <ul> 21 <li><a href="#card">Card</a></li> 22 <li><a href="#news">News</a></li> 23 <li><a href="#price">Price</a></li> 24 <li><a href="#access">Access</a></li> 25 <li><a href="#contact">Contact</a></li> 26 </ul> 27 </nav> 28 </header> 29 30 31 <div class="container section-1" id="card"></div> 32 <div class="container section-2" id="news"></div> 33 <div class="container section-3" id="price"></div> 34 <div class="container section-4" id="access"></div> 35 <div class="container section-5" id="contact"></div> 36</body> 37</html>
CSS
1header nav { 2 position: fixed; 3 top: 0; 4 background-color: #fff; 5} 6 7header nav li a.current { 8 color: red; 9} 10 11header nav li a:hover { 12 color: red; 13} 14 15.container { 16 height: 500px; 17} 18 19.container.section-1 { 20 background-color: red; 21} 22 23.container.section-2 { 24 background-color: blue; 25} 26 27.container.section-3 { 28 background-color: green; 29} 30 31.container.section-4 { 32 background-color: orange; 33} 34 35.container.section-5 { 36 background-color: pink; 37}
JavaScript
1$(function() { 2 $('#menu li a').each(function(){ 3 var $href = $(this).attr('href'); 4 if (location.href.match($href)) { 5 $(this).addClass('current'); 6 } else { 7 $(this).removeClass('current'); 8 } 9 }); 10});
ページに合わせて文字の色を赤色に変化させたいのですが、変化しません。
試したこと
teratailに載っていた、私と同じような質問には目を通しました。
JavaScriptのコードは間違っていないのではないかと...
間違っている場所が皆目見当もつかないので、質問させて頂きました。
初心者で至らない点も多々あると思いますが、どうかよろしくお願いします。
###補足情報
使用しているツール等を記載させて頂きます。
OS Windows10
ブラウザ Google Chrome
エディター VSCode
回答1件
あなたの回答
tips
プレビュー