2017-09-14 18 views
-1

は、私は、スクロールを停止したときにのみ再び示し、非表示になりますスクロールボタンとして https://www.k-kosho.co.jp/スクロール時にボタンを隠す方法とスクロール停止時に表示する方法はありますか?

下記のページのように一番上のボタンへ戻るようにしたいです。

これは私のスタートです.JS、皆が助けてくれることを願っています。

$(window).scroll(function() { 
     if ($(this).scrollTop() != 0) { 
     $('.ev-scrolltop').fadeIn(); 
     } else { 
     $('.ev-scrolltop').fadeOut(); 
     } 
    }); 

ありがとうございました!

+0

おそらくあなたは、この[リンク](https://stackoverflow.com/questions/9144560/jquery-からいくつかの助けを得るでしょうスクロール検出 - ユーザー停止 - スクロール) –

+0

@HimanshuUpadhyayありがとう!しかし、それでも私の問題は解決しません。 –

答えて

0

私は問題を解決しました。

CSS:

.ev-scrolltop{ 
    opicity: 0; 
} 

.ev-scrolltop.show{ 
opicity: 1; 
transition: opacity .4s ease-out; 
} 

JS:

$(document).ready(function() { 
     var t, n = $(window), 
          e = $(".ev-scrolltop"), 
          o = !1, 
          i = function() { 
           if (n.scrollTop() < n.height()) return e.removeClass("show"), !1; 
           t && (clearTimeout(t), t = null), t = setTimeout(function() { 
            o && (n.scrollTop() > n.height() ? e.addClass("show") : e.removeClass("show"), o = !1); 
           }, 500), o || (o = !0, e.removeClass("show")); 
          }; 

          n.on("scroll", i), i(), $(document).on("click", ".ev-scrolltop", function() { 
          $("html, body").stop().animate({ 
           scrollTop: 0 
          }, 500, "easeOutCirc").promise().done(function() { 
           o = !1, e.removeClass("show"); 
          }); 

         }); 
    } 
0
var t, n = $(window), 
e = $(".ev-scrolltop"), 
o = !1, 
a = function() { 
    t && (clearTimeout(t), t = null), 
    t = setTimeout(function() { 
     o && (e.fadeIn(), o = !1) 
    }, 
    500), 
    o || (o = !0, e.fadeOut()) 
} 

$(window).scroll(function() { 
    a(); 
}); 
+0

スタックオーバーフローはコードを共有するサイトではありません。それは命令のためです。この回答に文脈を追加して、あなたのコードが問題を解決する理由を説明してください。 –

関連する問題