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

回答編集履歴

1

sample

2021/07/14 07:03

投稿

yambejp
yambejp

スコア117914

answer CHANGED
@@ -2,4 +2,59 @@
2
2
  - 追加する要素の高さを0にしておくか
3
3
  - 追加したものと同じ高さ分だけ下にスクロールをさせるか
4
4
 
5
- ずれを考えると上への追加はあまり現実的ではないかと思います。
5
+ ずれを考えると上への追加はあまり現実的ではないかと思います。
6
+
7
+ # sample
8
+ ※追加用のテストAPI
9
+ //api.php
10
+ ```PHP
11
+ <?PHP
12
+ session_start();
13
+ $_SESSION["num"]=isset($_SESSION["num"])?$_SESSION["num"]+1:0;
14
+ print $_SESSION["num"];
15
+ ```
16
+ ```javascript
17
+ <style>
18
+ body{
19
+ margin:0;
20
+ }
21
+ .content:not(:first-child){
22
+ border-top:solid 0px;
23
+ }
24
+ .content{
25
+ height:200px;
26
+ border:solid 1px gray;
27
+ }
28
+ </style>
29
+ <script>
30
+ window.addEventListener('DOMContentLoaded', ()=>{
31
+ window.scroll({top:200});
32
+ });
33
+ window.addEventListener('scroll', ()=>{
34
+ const top=document.body.getBoundingClientRect().top;
35
+ if(top>=0){
36
+ fetch("api.php").then(res=>res.text()).then(txt=>{
37
+ document.body.insertBefore(Object.assign(document.createElement('div'),{className:'content',textContent:txt}),document.querySelector('.content'));
38
+ window.scroll({top:200});
39
+ flg=false;
40
+ });
41
+ }
42
+ });
43
+
44
+ </script>
45
+ <div class="content">
46
+ test
47
+ </div>
48
+ <div class="content">
49
+ test
50
+ </div>
51
+ <div class="content">
52
+ test
53
+ </div>
54
+ <div class="content">
55
+ test
56
+ </div>
57
+ <div class="content">
58
+ test
59
+ </div>
60
+ ```