如何在滚动时隐藏按钮并在滚动停止时显示?

如何在滚动时隐藏按钮并在滚动停止时显示?

问题描述:

我要让下面 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谢谢!但它仍然不能解决我的问题。 –

我成功解决了我的问题!

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"); 
          }); 

         }); 
    } 

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

堆栈溢出不是代码共享的网站。这是为了指导。请为此答案添加一些上下文,并提供您的代码为什么修复此问题。 – 2017-09-14 09:18:18