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

質問編集履歴

1

コード追記

2019/06/25 02:25

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -10,4 +10,42 @@
10
10
  もちろん力技で③→①→②→removeClass('active')のようにすれば希望の形にはなりますが付与して削除してなんだかなぁと思います、、
11
11
 
12
12
  そもそもの現状の実装方法が悪いのでしょうか。
13
- お力をお貸しください。よろしくお願いします。
13
+ お力をお貸しください。よろしくお願いします。
14
+
15
+ 追記(コード例)
16
+ ```lang-html
17
+ <div id="a" class="fade-in">〜</div>
18
+ ```
19
+ ```lang-scss
20
+ #a{
21
+ opacity: 0;
22
+ transition: opacity 1s ease;
23
+ &.active{
24
+ opacity: 1;
25
+ }
26
+ }
27
+ ```
28
+ ```jquery
29
+ $(function(){
30
+ // リロード時ページトップへ
31
+ $('html,body').animate({ scrollTop: 0 }, '1');
32
+ });
33
+
34
+ $(window).on('load', function(){
35
+ // スクロールイベント
36
+ window.addEventListener('scroll', function(e){
37
+ // まだactiveになってない要素に対して
38
+ $('.fade-in').not('.active').each(function(){
39
+
40
+ var pos = $(this).offset().top;
41
+ var scrollPos = $(window).scrollTop();
42
+ var wh = $(window).height();
43
+
44
+ // 任意の位置までスクロールしたらactiveクラスを付与
45
+ if (scrollPos > pos - wh + wh/5){
46
+ $(this).addClass('active');
47
+ }
48
+ });
49
+ });
50
+ }
51
+ ```