如果浮动侧边栏高于它,我如何推动div包装器

时间:2012-03-26 22:59:03

标签: jquery html css

这是一个示例http://jsfiddle.net/NuzDj/

如果您调整窗口大小,sidebar重叠wrapper& footer

当侧边栏重叠时,如何自动推动wrapper高度?

1 个答案:

答案 0 :(得分:4)

在大约过去半小时之后,我认为最简单的方法是手动检查内容末尾的滚动点,此时从侧边栏中删除固定类允许通过的内容在此之后显示为预期,但是偷偷地破解它使它看起来好像它仍然在同一个地方应用了边缘顶部以及侧边栏以保持它在滚动到内容结束后坐在它的终点

这里是jsfiddle:http://jsfiddle.net/mikeymagic/yxh8m/3/

这一点jquery魔术:

 var sidebarheight = $('.sidebar').height();
 var contentheight = $('.content').height();

 if (y > (contentheight - sidebarheight)) {
     $('.sidebar').css({marginTop: contentheight - sidebarheight - 10});
     $('.sidebar').removeClass('fixed');
 }
 else 
    {
     $('.sidebar').css({marginTop: '0'});
     $('.sidebar').addClass('fixed');
    }

这是插在这个

之间
 var y = $(this).scrollTop();
    if (y >= top) {
      $('.sidebar').addClass('fixed');

和此:

} else {
      $('.sidebar').removeClass('fixed');
    }
  });
});​