ググれば、やり方が色々出てきます。何のキーワードで調べたけどダメでした。とか、書かないと丸投げって思われて、回答が付きづらくなります。
HTML
1<!DOCTYPE html>
2<html lang="ja">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
7 <title>scroll-bottom-offset</title>
8</head>
9<script>
10 // 下から何ピクセルで開始するかの値をここで決める。
11 var bottomMargin = 50;
12
13 window.document.addEventListener('scroll', function(e) { scrollBottomMain(e, bottomMargin); });
14
15 function scrollBottomMain(e, bottomMargin) {
16 var body = window.document.body;
17 var html = window.document.documentElement;
18
19 var scrollTop = body.scrollTop || html.scrollTop;
20 var scrollBottom = html.scrollHeight - html.clientHeight - scrollTop;
21
22 if ( scrollBottom <= bottomMargin ) {
23 // 下までスクロールしたときの処理
24 const targetDiv = document.getElementById('targetMargin');
25 targetDiv.classList.add('fade-in-bottom');
26 } else {
27 const targetDiv = document.getElementById('targetMargin');
28 targetDiv.classList.remove('fade-in-bottom');
29 }
30 }
31</script>
32
33<style>
34.fade-in-bottom {
35 -webkit-animation: fade-in-bottom 1s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
36 animation: fade-in-bottom 1s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
37}
38@-webkit-keyframes fade-in-bottom {
39 0% {
40 -webkit-transform: translateY(50px);
41 transform: translateY(50px);
42 opacity: 0;
43 }
44 100% {
45 -webkit-transform: translateY(0);
46 transform: translateY(0);
47 opacity: 1;
48 }
49}
50@keyframes fade-in-bottom {
51 0% {
52 -webkit-transform: translateY(50px);
53 transform: translateY(50px);
54 opacity: 0;
55 }
56 100% {
57 -webkit-transform: translateY(0);
58 transform: translateY(0);
59 opacity: 1;
60 }
61}
62</style>
63<body>
64 <div style="height: 1800px; background-color: brown;">
65 </div>
66 <div id="targetMargin" style="height: 50px; background-color: chartreuse;">
67 </div>
68</body>
69</html>
面倒だったので、HTMLとCSSとJavaScriptを一緒に書いてますが、別ファイルにしてもかまいません。
素早くスクロールさせると緑のDIVが下からせりあがってきます。
コード内の右上のボタンでコードを丸ごとコピーできるので、自分のファイルに張り付けて、お使いのブラウザーで確認してみてください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/31 05:00
2021/01/31 06:37
2021/01/31 06:51
2021/01/31 18:52