如何在滚动时隐藏按钮并在滚动停止时显示?
问题描述:
我要让下面 https://www.k-kosho.co.jp/如何在滚动时隐藏按钮并在滚动停止时显示?
像页面返回顶部按钮作为滚动按钮会被隐藏,只有再次显示,当我停止滚动。
这是我的开始js,希望大家帮忙。
$(window).scroll(function() {
if ($(this).scrollTop() != 0) {
$('.ev-scrolltop').fadeIn();
} else {
$('.ev-scrolltop').fadeOut();
}
});
谢谢大家!
答
我成功解决了我的问题!
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
也许你会从中得到[链接]一些帮助(https://stackoverflow.com/questions/9144560/jquery-滚动检测当用户停止滚动) –
@HimanshuUpadhyay谢谢!但它仍然不能解决我的问题。 –