質問編集履歴
1
コード追記
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
|
+
```
|