Jquery 在添加/删除类之前添加额外的160px?

Jquery 在添加/删除类之前添加额外的160px?,jquery,Jquery,在添加和删除类之前,我正在尝试添加额外的160px 原始工作jQuery: $.fn.isInViewport = function() { let elementTop = $(this).offset().top; let elementBottom = elementTop + $(this).outerHeight(); let viewportTop = $(window).scrollTop(); let viewportBottom = viewportTop +

在添加和删除类之前,我正在尝试添加额外的160px

原始工作jQuery:

$.fn.isInViewport = function() {
  let elementTop = $(this).offset().top;
  let elementBottom = elementTop + $(this).outerHeight();
  let viewportTop = $(window).scrollTop();
  let viewportBottom = viewportTop + $(window).height();
  return elementBottom > viewportTop && elementTop < viewportBottom;
};

$(window).scroll(function() {
  if ($('#main-header').isInViewport()) {
    $('#main-menu').removeClass('hide');
  } else {
    $('#main-menu').addClass('hide');
  }
});
// own custom jQuery function
$.fn.isInViewportWithMargin = function(px) {
  let elementTop = $(this).offset().top - px;
  let elementBottom = elementTop + ( $(this).outerHeight() + px*2 );
  let viewportTop = $(window).scrollTop();
  let viewportBottom = viewportTop + $(window).height();
  return elementBottom > viewportTop && elementTop < viewportBottom;
};

$(window).scroll(function() {
  if ($('#main-header').isInViewportWithMargin(160)) {
    $('#main-menu').removeClass('hide');
  } else {
    $('#main-menu').addClass('hide');
  }
});
尝试扩展jQuery:

$.fn.isInViewport = function() {
  let elementTop = $(this).offset().top;
  let elementBottom = elementTop + $(this).outerHeight();
  let viewportTop = $(window).scrollTop();
  let viewportBottom = viewportTop + $(window).height();
  return elementBottom > viewportTop && elementTop < viewportBottom;
};

$(window).scroll(function() {
  if ($('#main-header').isInViewport()) {
    $('#main-menu').removeClass('hide');
  } else {
    $('#main-menu').addClass('hide');
  }
});
// own custom jQuery function
$.fn.isInViewportWithMargin = function(px) {
  let elementTop = $(this).offset().top - px;
  let elementBottom = elementTop + ( $(this).outerHeight() + px*2 );
  let viewportTop = $(window).scrollTop();
  let viewportBottom = viewportTop + $(window).height();
  return elementBottom > viewportTop && elementTop < viewportBottom;
};

$(window).scroll(function() {
  if ($('#main-header').isInViewportWithMargin(160)) {
    $('#main-menu').removeClass('hide');
  } else {
    $('#main-menu').addClass('hide');
  }
});
//自己的自定义jQuery函数
$.fn.isInViewportWithMargin=函数(px){
让elementTop=$(this).offset().top-px;
让elementBottom=elementTop+($(this).outerHeight()+px*2);
让viewportTop=$(窗口).scrollTop();
让viewportBottom=viewportTop+$(window).height();
返回elementBottom>viewportTop&&elementTop
谢谢您的帮助。