javascript - 如何使浮动侧边栏继续浮动,而ajax内容正在加载

  显示原文与译文双语对照的内容
0 0

我是js中真正的noob,所以这个问题如下。

我有浮动侧边栏,当它到达页脚时停止浮动。 js代码如下所示:


$(window).load(function(){
 $(function() {
 var top = $('#sidebar').offset().top - parseFloat($('#sidebar').css('marginTop').replace(/auto/, 0));
 var footTop = $('#footer').offset().top - parseFloat($('#footer').css('marginTop').replace(/auto/, 0));

 var maxY = footTop - $('#sidebar').outerHeight();

 $(window).scroll(function(evt) {
 var y = $(this).scrollTop();
 if (y> top) {
 if (y <maxY) {
 $('#sidebar').addClass('fixed').removeAttr('style');
 } else {
 $('#sidebar').removeClass('fixed').css({
 position: 'absolute',
 top: (maxY - top) + 'px'
 });
 }
 } else {
 $('#sidebar').removeClass('fixed');
 }
 });

在实现ajax分页和内容加载之前,这工作相当好。 边栏只在查看 1st 页时滚动,当通过ajax加载 2nd 页时,侧栏不滚动。 你可以在这里看到

你有什么想法,我需要在代码中改变,以使它工作,如我想要?

时间: 原作者:

0 0

问题是你只需要 initializise maxYfootTop 一次。 当你扩展文档时,他们需要改变。 你可以在每次滚动时重新计算。

原作者:
...