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

回答編集履歴

1

修正漏れ

2020/09/16 10:17

投稿

kuma_kuma_
kuma_kuma_

スコア2506

answer CHANGED
@@ -4,14 +4,19 @@
4
4
  ```javasclipt
5
5
  $('#fade').css('visibility','hidden');
6
6
  $(window).scroll(function(){
7
- var windowHeight = $(window).height(),
8
- topWindow = $(window).scrollTop();
9
- $('#fade').each(function(){
7
+ $('#fade').each(function(){
8
+ var nScrollTop = $(window).scrollTop(); // 現在のスクロール位置
10
- var targetPosition = $(this).offset().top;
9
+ var targetPosition = $(this).offset().top; // 表示切替ターゲットの位置
11
- if(topWindow > targetPosition - windowHeight + 100){
10
+ if((targetPosition - 150) < nScrollTop){ // 表示切替ターゲットの位置から150px上と現在のスクロール位置で判定(150は調整してね)
11
+ if($(this).hasClass('fadeInDown') == false){ // 'fadeInDown'が設定されていない場合
12
- $(this).addClass("fadeInDown");
12
+ $(this).addClass("fadeInDown"); // 'fadeInDown'の追加
13
- }
13
+ }
14
+ }else{
15
+ if($(this).hasClass('fadeInDown') == true){ // 'fadeInDown'が設定されている場合
16
+ $(this).removeClass("fadeInDown"); // 'fadeInDown'の削除
17
+ }
18
+ }
14
- });
19
+ });
15
20
  });
16
21
 
17
22
  $('#fade2').css('visibility','hidden');