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

回答編集履歴

2

調整

2026/02/26 10:48

投稿

yambejp
yambejp

スコア118374

answer CHANGED
@@ -57,6 +57,9 @@
57
57
  window.addEventListener('DOMContentLoaded', ()=>{
58
58
  btn.addEventListener('click', ()=>{
59
59
  popup.scrollTo({
60
+ top: 0
61
+ });
62
+ popup.scrollTo({
60
63
  top: target.getBoundingClientRect().top-popup.getBoundingClientRect().top,
61
64
  behavior: "smooth"
62
65
  });

1

ちょうせい

2026/02/26 10:43

投稿

yambejp
yambejp

スコア118374

answer CHANGED
@@ -48,4 +48,54 @@
48
48
  <div class="dummy">8</div>
49
49
  <div class="dummy">9</div>
50
50
  </dialog>
51
+ ```
52
+
53
+ # 単純なscroll
54
+ modalではなく単にdivの中でスクロールさせるにはこんな感じ
55
+ ```html
56
+ <script>
57
+ window.addEventListener('DOMContentLoaded', ()=>{
58
+ btn.addEventListener('click', ()=>{
59
+ popup.scrollTo({
60
+ top: target.getBoundingClientRect().top-popup.getBoundingClientRect().top,
61
+ behavior: "smooth"
62
+ });
63
+ });
64
+ });
65
+ </script>
66
+ <style>
67
+ #popup{
68
+ border:solid 0px;
69
+ outline:solid 0px;
70
+ max-height:50vh;
71
+ max-width:50vw;
72
+ padding:0;
73
+ overflow-Y:scroll;
74
+ overflow-X:hidden;
75
+
76
+ }
77
+ .dummy{
78
+ height:60vh;
79
+ background-Color:gray;
80
+ width:50vw;
81
+ }
82
+ :nth-child(odd of .dummy){
83
+ background-Color:lightgray;
84
+ }
85
+ #target{
86
+ background-Color:yellow;
87
+ }
88
+ </style>
89
+ <input type="button" value="scroll" id="btn">
90
+ <div id="popup">
91
+ <div class="dummy">1</div>
92
+ <div class="dummy">2</div>
93
+ <div class="dummy">3</div>
94
+ <div class="dummy">4</div>
95
+ <div class="dummy" id="target">5</div>
96
+ <div class="dummy">6</div>
97
+ <div class="dummy">7</div>
98
+ <div class="dummy">8</div>
99
+ <div class="dummy">9</div>
100
+ </div>
51
101
  ```