teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

誤答だったので正しいものに修正

2020/06/29 08:19

投稿

退会済みユーザー
answer CHANGED
@@ -1,13 +1,28 @@
1
- せっかくJSレスで書かれているでHTMLで対応してみまし
1
+ まず、こモーダルの開閉の仕組を確認しましょう
2
2
 
3
3
  ```HTML
4
- <li><a href="https://aaaaaa.com/page1/#guide" title="ガイド">ガイドへ</a></li>
4
+ <input id="nav-input" type="checkbox" class="nav-unshown">
5
5
  ```
6
+ こちらの、チェックボックスがオンになると開き、
7
+ オフになると閉じるという動きをしています。
6
8
 
7
- ようなページ内リンの中に```<label for="nav-input">```差し込んでみてください。
9
+ では、次にこのチェッボックスが閉まる関数てみましょう
8
10
 
9
- ```HTML
11
+ ``` JavaScript
12
+ function closeNav() {
10
- <li><a href="https://aaaaaa.com/page1/#guide" title="ガイド"><label for="nav-input">ガイドへ</label></a></li>
13
+ document.getElementById('nav-input').checked = false
14
+ }
11
15
  ```
16
+ 以下のページを参照してみてください。
17
+ [<input type="checkbox"> - HTML: HyperText Markup Language | MDN](https://developer.mozilla.org/ja/docs/Web/HTML/Element/Input/checkbox)
12
18
 
19
+ こちらを該当のaタグのonClick属性に挿入すればOKです。
20
+
21
+ ``` HTML
22
+ <li><a href="#guide" title="ガイド" onClick="closeNav()">ガイドへ</a></li>
23
+ ```
24
+
25
+ [クリック時の処理(onClick) - イベント処理 - JavaScript入門](https://www.javadrive.jp/javascript/event/index2.html)
26
+
27
+ もっとシンプルな書き方もあります。
13
- 他、箇所も同様にやってみてください。
28
+ 是非調べてみてください。