回答編集履歴

1

もっと上手くできるかも

2019/08/19 02:46

投稿

kyoya0819
kyoya0819

スコア10429

test CHANGED
@@ -41,3 +41,133 @@
41
41
  ```
42
42
 
43
43
  JavaScriptのタイミングは適当に変えてください。
44
+
45
+
46
+
47
+ ### 追記
48
+
49
+ 比較演算子の調整が必要かも
50
+
51
+ ```HTML
52
+
53
+ <body>
54
+
55
+ <div class="container area bg-light" id=hoge>
56
+
57
+ <div id=messages>
58
+
59
+ <div class="message">hoge</div>
60
+
61
+ <div class="message">hoge</div>
62
+
63
+ <div class="message">hoge</div>
64
+
65
+ <div class="message">hoge</div>
66
+
67
+ <div class="message">hoge</div>
68
+
69
+ <div class="message">hoge</div>
70
+
71
+ <div class="message">hoge</div>
72
+
73
+ <div class="message">hoge</div>
74
+
75
+ <div class="message">hoge</div>
76
+
77
+ <div class="message">hoge</div>
78
+
79
+ <div class="message">hoge</div>
80
+
81
+ <div class="message">hoge</div>
82
+
83
+ <div class="message">hoge</div>
84
+
85
+ <div class="message">hoge</div>
86
+
87
+ <div class="message">hoge</div>
88
+
89
+ <div class="message">hoge</div>
90
+
91
+ <div class="message">hoge</div>
92
+
93
+ <div class="message">hoge</div>
94
+
95
+ <div class="message">hoge</div>
96
+
97
+ <div class="message">hoge</div>
98
+
99
+ <div class="message">hoge</div>
100
+
101
+ <div class="message">hoge</div>
102
+
103
+ <div class="message">hoge</div>
104
+
105
+ <div class="message">hoge</div>
106
+
107
+ <div class="message">hoge</div>
108
+
109
+ <div class="message">hoge</div>
110
+
111
+ <div class="message">hoge</div>
112
+
113
+ <div class="message">hoge</div>
114
+
115
+ <div class="message">hoge</div>
116
+
117
+ <div class="message">hoge</div>
118
+
119
+ <div class="message">hoge</div>
120
+
121
+ <div class="message">hoge</div>
122
+
123
+ <div class="message">hoge</div>
124
+
125
+ <div class="message">hoge</div>
126
+
127
+ <div class="message">これをbottom: 0の位置にくるようにしたい</div>
128
+
129
+ </div>
130
+
131
+ </div>
132
+
133
+ </body>
134
+
135
+ ```
136
+
137
+ ```CSS
138
+
139
+ .area {
140
+
141
+ height: 50vh;
142
+
143
+ overflow-y: scroll
144
+
145
+ }
146
+
147
+ ```
148
+
149
+ ```JavaScript
150
+
151
+ window.onload = function() {
152
+
153
+ var aH = window.innerHeight / 2;
154
+
155
+ var mH = $('#messages').outerHeight();
156
+
157
+ if (mH<aH) {
158
+
159
+ var offset = $('#messages').offset({top:aH-mH});
160
+
161
+ } else {
162
+
163
+ $('#hoge').animate({scrollTop: $('#hoge')[0].scrollHeight}, 'fast');
164
+
165
+ }
166
+
167
+ }
168
+
169
+ ```
170
+
171
+ 両方要jQuery
172
+
173
+ 思いつき等々で書いたのでもっといい書き方あるかもしれません。