Jquery 在添加/删除类之前添加额外的160px?
在添加和删除类之前,我正在尝试添加额外的160px 原始工作jQuery: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 +
$.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
谢谢您的帮助。