我尝试在我的导航菜单中添加一个类,以便在经过一定量的滚动后假定一个固定的位置。此代码的变体在标准环境中工作。然而,AEM与其他人并不相称。它将在控制台中报告$(window).scrollTop()
值以及navMenuPos.top
的值。无论我尝试什么,我都不能说它"嗨"对我来说。滚动事件似乎没有触发。这是代码:
$(document).ready(function() {
var navMenu = $('#nav-menu');
var navMenuPos = $('#nav-menu').offset();
console.log("Window scroll top is: " + $(window).scrollTop());
console.log("The top of the top menu is: " + navMenuPos.top);
$(window).scroll(function() {
console.log("Hi");
if ($(window).scrollTop() > navMenuPos.top) {
navMenu.addClass('fixed-pos-menu');
}
else {
navMenu.removeClass('fixed-pos-menu');
}
});
});
取代$(window).scroll(function() {});
我尝试了$(window).bind('scroll', function() {});
之类的事情:
navMenu.on("scroll", function(e) {
if (this.scrollTop > 147) {
navMenu.addClass("fixed-pos-menu");
} else {
navMenu.removeClass("fixed-pos-menu");
}
});
这些都没有触发滚动事件。
窗口对象似乎存在,因为我可以获得有关其顶部的信息。也许AEM没有看到它作为页面的滚动部分?