我面临的问题是这段代码感觉过于重复/沉重。我想简化这个或重构以使其更好,欢迎提出任何建议。我还是 JS 初学者,所以感谢您的输入和解释。
这段代码的目标是根据用户在页面上的位置更改我的侧边导航的位置。这是代码:
/** Position for side navigation when page has hero carousel AND subnav */
if (heroCarousel && subNav) {
// Changes position for side navigation based on user scroll
let positionChanges = function positionChangesOnScroll() {
// Define variables
var toTop = $(window).scrollTop(),
elementOffset = $('footer').offset().top,
distance = (elementOffset - toTop),
jumpNav = $('.jn-publish');
// Bahavior for side navigation on page load
if (toTop < 200 ) {
// Adding class for first position
jumpNav.addClass('pos1-carousel-subnav');
}
// Bahavior …Run Code Online (Sandbox Code Playgroud)