回答編集履歴

1

sample

2022/02/01 03:29

投稿

yambejp
yambejp

スコア117755

test CHANGED
@@ -11,3 +11,117 @@
11
11
  const top=window.scrollY+area.getBoundingClientRect().top;
12
12
  window.scrollTo({top});
13
13
  ```
14
+
15
+ # 全体イメージ
16
+ ```javascript
17
+ <style>
18
+ .sticky-item{
19
+ position: sticky;
20
+ top: 85px;
21
+ }
22
+ </style>
23
+ <script>
24
+ window.addEventListener('DOMContentLoaded', ()=>{
25
+ const area=document.querySelector('#area');
26
+ document.querySelector('#list').addEventListener('change',e=>{
27
+ document.querySelector('[data-target]:not([hidden])').setAttribute('hidden','');
28
+ document.querySelector(`[data-target="${e.target.value}"]`).removeAttribute('hidden');
29
+ const top=window.scrollY+area.getBoundingClientRect().top;
30
+ window.scrollTo({top});
31
+ //location.hash="area";
32
+ })
33
+ });
34
+ </script>
35
+
36
+ <div class="sticky-item">
37
+ <div class="col-auto">
38
+ <select class="form-control" id="list">
39
+ <option value="select1">リスト1</option>
40
+ <option value="select2">リスト2</option>
41
+ <option value="select3">リスト3</option>
42
+ </select>
43
+ </div>
44
+ </div>
45
+ <br><br><br><br><br><br><br><br><br><br>
46
+ <br><br><br><br><br><br><br><br><br><br>
47
+ <br><br><br><br><br><br><br><br><br><br>
48
+ <div class="col-auto" id="area">
49
+ <div id="item1" data-target="select1">
50
+ <section class="item-list">
51
+ <ul>
52
+ <li>リスト1</li>
53
+ <li>リスト1</li>
54
+ <li>リスト1</li>
55
+ <li>リスト1</li>
56
+ <li>リスト1</li>
57
+ <li>リスト1</li>
58
+ <li>リスト1</li>
59
+ <li>リスト1</li>
60
+ <li>リスト1</li>
61
+ <li>リスト1</li>
62
+ <li>リスト1</li>
63
+ <li>リスト1</li>
64
+ <li>リスト1</li>
65
+ <li>リスト1</li>
66
+ <li>リスト1</li>
67
+ <li>リスト1</li>
68
+ <li>リスト1</li>
69
+ <li>リスト1</li>
70
+ <li>リスト1</li>
71
+ <li>リスト1</li>
72
+ <li>リスト1</li>
73
+ <li>リスト1</li>
74
+ <li>リスト1</li>
75
+ <li>リスト1</li>
76
+ <li>リスト1</li>
77
+ <li>リスト1</li>
78
+ <li>リスト1</li>
79
+ <li>リスト1</li>
80
+ <li>リスト1</li>
81
+ <li>リスト1</li>
82
+ <li>リスト1</li>
83
+ <li>リスト1</li>
84
+ <li>リスト1</li>
85
+ <li>リスト1</li>
86
+ <li>リスト1</li>
87
+ <li>リスト1</li>
88
+ <li>リスト1</li>
89
+ <li>リスト1</li>
90
+ <li>リスト1</li>
91
+ <li>リスト1</li>
92
+ <li>リスト1</li>
93
+ <li>リスト1</li>
94
+ <li>リスト1</li>
95
+ <li>リスト1</li>
96
+ <li>リスト1</li>
97
+ <li>リスト1</li>
98
+ <li>リスト1</li>
99
+ <li>リスト1</li>
100
+ </ul>
101
+ </section>
102
+ </div>
103
+ <div id="item2" data-target="select2" hidden>
104
+ <section class="item-list">
105
+ <ul>
106
+ <li>リスト2</li>
107
+ <li>リスト2</li>
108
+ <li>リスト2</li>
109
+ </ul>
110
+ </section>
111
+
112
+ </div>
113
+ <div id="item3" data-target="select3" hidden>
114
+ <section class="item-list">
115
+ <ul>
116
+ <li>リスト3</li>
117
+ <li>リスト3</li>
118
+ <li>リスト3</li>
119
+ </ul>
120
+ </section>
121
+ </div>
122
+ </div>
123
+ <br><br><br><br><br><br><br><br><br><br>
124
+ <br><br><br><br><br><br><br><br><br><br>
125
+ <br><br><br><br><br><br><br><br><br><br>
126
+ ```
127
+