Jquery Sticky div,刷新页面并向上滚动时也不起作用
这是我的密码:Jquery Sticky div,刷新页面并向上滚动时也不起作用,jquery,Jquery,这是我的密码: if ($('.leed_blocks').length > 0) { var leedoffset = $('.leed_blocks').offset().top; if ($(window).scrollTop() >= leedoffset) { $('.leed_block').addClass('absolute'); $('.leed_block').css('top', $(window).scrollT
if ($('.leed_blocks').length > 0) {
var leedoffset = $('.leed_blocks').offset().top;
if ($(window).scrollTop() >= leedoffset) {
$('.leed_block').addClass('absolute');
$('.leed_block').css('top', $(window).scrollTop() + 40);
} else {
$('.leed_block').removeClass('absolute');
}
}
$(window).scroll(function() {
// leed sticky
if ($('.leed_blocks').length > 0) {
if ($('.leed_blocks').is(':not(.absolute)'))
// get the offset only if the sticky class is not added
leedoffset = $('.leed_blocks').offset().top - 60;
if ($(window).scrollTop() > leedoffset) {
$('.leed_blocks').addClass('absolute');
$('.leed_blocks').css('top', $(window).scrollTop() + 40)
} else {
$('.leed_blocks').removeClass('absolute');
}
}
});
当我刷新页面并向上滚动时,块会变粘,但位置错误,它们会滚动到我们需要的上方,这是因为div有类absolute,滚动时我们不会刷新偏移量
更新
我在我的网站顶部有fotorama,当页面开始位置与我们需要的实际位置不同时,会偏移位置。如果我删除了fotorama脚本,效果很好,但现在不行。我只需要像在代码中一样向上滚动和刷新偏移量的方法:
if ($('.leed_blocks').is(':not(.absolute)')) // get the offset only if the sticky class is not added leedoffset = $('.leed_blocks').offset().top - 60;
JSFIDLE示例运行良好,因为它也没有fotorama,我可以给您一个指向我的网站的链接。可能值得一看这个答案和onload函数。