###実現したいこと
アイコンをクリックするとURLにパラメーターが渡される仕組みになっています。
例)「全て」をクリック押すとURLにall、「ストーリー」をクリックURLにstoryが渡される
これを活かして、逆にURLからJavaScriptでパラメーターを取得し、どのアイコンをクリックしたかが視覚的にわかるように対応するアイコンの色を変更したいと考えております。
###考えていること・問題点
URLからのパラメーター取得方法はURLSearchParams(window.location.href)でできると認識。
また、アイコンの色変更はifとbgColorで変更可能と認識。
上記2つの機能を合わせ、サンプルコードのようにしましたが、何も変化がありません。
そもそもURLSearchParams(window.location.href)の直下にconsole.log("適当な文字列")を置き、
検証画面で動きを確認しましたが、上記"適当な文字列"が表示されないことから、URLのパラメーターの取得がそもそも動いてないのではと考えますが、結論に至らない状態です。
上記考え方に問題があるのか?それともコードに過不足があるのか、お手数ですがご教示いただけますと幸いです。
###サンプルコード
必要と思われるコードのみを表示しております。
不足等ありましたらご教示いただけますと幸いです。
HTML
1<div class="picmenu"> 2 <ul id="table-ul"> 3 <li onmouseover="mouseOn1();" onmouseout="mouseOff1();"> 4 <!--Djangoを使用。下記コードにてURLにindex/all/allパラメーターを追加--> 5 <a href="{% url 'index' 'all' 'all' %}"> 6 <img src="{% static 'img/star.png' %}" class="icon-category" id="star" /> 7 <p>全て</p> 8 </a> 9 </li> 10 <li onmouseover="mouseOn2();" onmouseout="mouseOff2();"> 11 <!--Djangoを使用。下記コードにてURLにindex/all/storyパラメーターを追加--> 12 <a href="{% url 'index' 'all' 'story' %}"> 13 <img src="{% static 'img/memo.png' %}" class="icon-category" id="memo" /> 14 <p>ストーリー</p> 15 </a> 16 </li> 17 </ul> 18</div>
JavaScript
1 function color1(){ 2 var url = new URLSearchParams(window.location.href); 3 var params = url.searchParams; 4 if (params.has("all")){ 5 documents.baColor = "#0595a7" 6 } else if (params.has("story")){ 7 documents.bgColor = "#0595a7" 8 } 9 } 10 11 function mouseOn1(){ 12 var obj = document.getElementById("star"); 13 obj.src = "{% static 'img/star_white.png' %}"; 14 // console.log("mouseOn1") 15 } 16 17 function mouseOn2(){ 18 var obj = document.getElementById("memo"); 19 obj.src = "{% static 'img/memo_white.png' %}"; 20 }
###環境
HTML5
Bootstrap 4.7.0
Python 3.6.3
Django 2.2.16
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/02 22:52