【发布时间】:2019-11-07 03:01:41
【问题描述】:
我正在尝试制作一个在向上滚动时具有粘性并且在使用 javascript 向下滚动时不显示的标题,为此我添加了一个类 .header-up 并通过 CSS 提供了 transform: translateY(-100%);。它工作得很好,但是当我在标题中打开整页菜单并尝试关闭时 [标题在顶部时没有问题,但我们可以在从顶部滚动一点后看到问题] 'header-up' 类仍然存在。所以标题在视口区域后面向上。我尝试使用此代码s.removeClass("header-up") 删除.header-up 类,以使标题粘在同一位置。这里是 jsFiddle
这是我用于滚动和切换整页菜单的 javascript。
$( document ).ready(function() {
var scroll_pos = 0;
var scroll_time;
$(window).scroll(function() {
clearTimeout(scroll_time);
var current_scroll = $(window).scrollTop();
if (current_scroll >= $("#header").outerHeight()) {
if (current_scroll <= scroll_pos) {
$("#header").removeClass("header-up");
} else {
$("#header").addClass("header-up");
}
}
scroll_time = setTimeout(function() {
scroll_pos = $(window).scrollTop();
}, 100);
});
});
$("#navbar-toggle").on("click", function(t) {
var e = $(this).data("scroll-y"),
i = $(window).scrollTop(),
n = $("#navbar-toggle"),
o = $("#overlay-nav"),
s = $("#header"),
r = $("body");
o.hasClass("toggle")
? (r.css("top", "0px").removeClass("noscroll"),
window.scrollTo(0, e),
o.removeClass("toggle"),
n.removeClass("open"),
s.removeClass("overlay-nav-toggled"),
s.removeClass("pos-fixed"),
s.removeClass("header-up"),
setTimeout(function() {
s.removeClass("suppress-scroll");
}, 700))
: ($(this).data("scroll-y", i),
o.addClass("toggle"),
n.addClass("open"),
s.addClass("overlay-nav-toggled suppress-scroll"),
r.css("top", -i + "px").addClass("noscroll"));
});
【问题讨论】:
-
您好,请在问题中包含您的代码。
-
@AnisR。刚刚更新了代码!
标签: javascript jquery html css