我对jquery很新,我正在尝试为body内部的div元素找到正确的偏移量。每当我向下滚动并传递此元素的顶部偏移量时,我想让这个div元素变粘。
我遵循了这个教程:https://www.youtube.com/watch?v=utonytGKodc并且它有效,但我的标题中有一个metaslider,这个元素的宽度/高度被排除在计算之外,以找到正确的偏移....
结果是我的元素很快成为一种粘性元素的方式,有没有办法我可以手工将滑块坐标(偏移量)添加到我想要粘贴的元素的偏移量计算中?
var offerteOffset = jQuery(".agendawrap").offset().top //+ metaslider coordinates??;
alert(offerteOffset);
jQuery(window).scroll(function() {
var scrollPos = jQuery(window).scrollTop();
if (scrollPos >= offerteOffset) {
jQuery(".agendawrap").addClass("fixed");
} else {
jQuery(".agendawrap").removeClass("fixed");
}
});
答案 0 :(得分:0)
我无法相信人们会制作如此糟糕的教程。
首先:不要一直写jQuery
。看看this thread。
基本上它说:使用具有自己范围的调用函数:
(function($) { /* all your jQuery goes here */ })(jQuery);
因此,您只需输入$
而不是jQuery
。
原来的问题:
(function($) {
$(function() { // document ready...
var scrollTolerance = 50,
agendawrap = $(".agendawrap"),
offerteOffset = agendawrap.offset().top;
$(window).on('scroll', function() {
var scrollPos = $(window).scrollTop();
// OR: if (scrollPos - scrollTolerance >= offerteOffset) {
if (scrollPos + scrollTolerance >= offerteOffset) {
agendawrap.addClass("fixed");
}
else {
agendawrap.removeClass("fixed");
}
});
});
})(jQuery);