javascript - 粘性菜单,向下滚动时隐藏粘性菜单
问题描述
我正在尝试在我的网页上添加一个粘性菜单。如果我向下滚动,粘性菜单必须消失,当我向上滚动时它必须出现。我浏览了互联网并找到了一些答案。但它没有按预期工作。我尝试了2个案例。
情况1:
我在CSS和JS下面试过:
CSS:
@media (min-width: 769px) {
.main-navigation {
position: sticky;
top: 0px;
z-index: 99;
}
}
JS:
jQuery(document).ready(function( $ ){
var previousScroll = 0;
$(window).scroll(function(){
var currentScroll = $(this).scrollTop();
if (currentScroll >= previousScroll){
$('#primary-menu').addClass('menu-toggle');
} else {
$('#primary-menu').removeClass('menu-toggle');
}
previousScroll = currentScroll;
});
});
当我尝试上面的代码时,它运行良好,但有时粘性菜单会像手电筒一样闪烁。
然后我尝试了下一个案例。
案例二:
CSS:
@media (min-width: 769px) {
.main-navigation {
position: fixed;
top: 0px;
width:100%;
z-index: 99;
}
}
JS:
jQuery(document).ready(function( $ ){
var previousScroll = 0;
$(window).scroll(function(){
var currentScroll = $(this).scrollTop();
if (currentScroll >= previousScroll){
$('#primary-menu').addClass('menu-toggle');
} else {
$('#primary-menu').removeClass('menu-toggle');
}
previousScroll = currentScroll;
});
});
在这种情况下,它不会闪烁。但它与标题重叠。请看这里的图片。
实际上,菜单必须在标题之后。谁能帮我解决这个问题?
解决方案
推荐阅读
- jsf - 以前缀“rich”导入的标签库中未定义标签“notifyMessage”
- php - 如何在运行时绑定配置值 Laravel 服务提供者?
- r - 如何为 r 中的多个组的回归模型绘制 r 平方
- java - 如何管理项目支持工具(如代码生成器)的依赖关系?
- google-cloud-platform - 按不兼容的 google sql cloud 分组
- c# - ASP.NET-Core MVC - 当用户点击 url 时如何发送 jwt 令牌?
- python - 使用 Python 在 Web-Scraping 上遇到关键错误
- c# - 使用 Visual Studio 登录时出现未处理的激活错误
- c++ - 适用于 Windows 和 Linux 的 CGAL 链接错误 QT Creator 项目
- php - 单击更新链接后表格未更新