我想滚动一页菜单,滚动时会有较小的高度(在某一点之后)。这是代码:
$(document).ready(function () {
var menu = $('.menuclass');
$(window).scroll(function () {
var y = $(this).scrollTop();
var z = $('.someclass').offset().top;
if (y >= z) {
menu.removeClass('nav1').addClass('nav2');
} else {
menu.removeClass('nav2').addClass('nav1');
}
});
});
类nav1的高度为120px,类nav2的高度为60px
一切正常,除了在第一次滚动(点击)到第一个锚点时,存在一个问题,即菜单重叠部分仍然具有120px高度而不是60px应该来自新类。我想脚本已经使用了第一个高度来计算。在第二次滚动时,问题消失。
即使在第一次激活脚本时,如何在脚本中添加60px的大小?
答案 0 :(得分:0)
您是否可以通过相关的CSS和HTML显示您的代码? 你发布的JS代码应该不是问题。
答案 1 :(得分:0)
与粘性菜单的sticky.js脚本发生冲突。它在与改变类的脚本相同的div上调用。我删除它,问题消失了。相反,我只使用css,position:fixed;用于菜单。