Я написал функцию, чтобы сделать элемент элемента div сверху при прокрутке.Сделать элемент палкой сверху при прокрутке
это работает, когда это написано, как это («# липкий якорь-для-социального» является обнаружение расстояния перемещения элемента, «# социально-медиа» является элемент палочки):
function sticky_socialmedia() {
var window_top = $(window).scrollTop();
var social_top = $('#sticky-anchor-for-social').offset().top - 88;
if (window_top >= social_top) {
$('#social-media').addClass('stick-social');
} else {
$('#social-media').removeClass('stick-social');
}
}
$(window).scroll(sticky_socialmedia);
sticky_socialmedia();
но он не работает, когда я пишу это следующим образом:
function stickyWhenScroll(anchor, sticky) {
var window_top = $(window).scrollTop();
var filter_top = $(anchor).offset().top - 88;
if (window_top >= filter_top) {
$(sticky).addClass('stick-filter');
} else {
$(sticky).removeClass('stick-filter');
}
}
$(window).scroll(stickyWhenScroll);
stickyWhenScroll('#sticky-anchor-for-social','#social-media');
что может пойти не так? большое спасибо!
Потому что событие запускается при прокрутке. В вашей первой попытке вы делаете ссылку на свои элементы внутри функции, но во второй попытке вы не ссылаетесь внутрь, а пытаетесь сделать это за пределами, которая таким образом не работает \. – putvande