This question already has an answer here:
Stop Float at footer Jquery
                                
                                    (1个答案)
                                
                        
                                5年前关闭。
            
                    
我正在使用此代码:

 $(window).scroll(function () {
  if (($(document).height() - $(window).scrollTop()) <= 500){
      $("#content-5").css({
          position: 'fixed',
          top: 'auto',
          bottom: '300px'
      });
  } else if ($(window).scrollTop() >= 30) {
      $("#content-5").css({
          position: 'fixed',
          top: '30px',
          bottom: 'auto'
      });
  }else{
      $("#content-5").css({
          position: 'absolute',
          top: '30px',
          bottom: 'auto'
      });
  }
});


这是演示

http://jsfiddle.net/Ym2Ga/75/

它的工作正常,但我不知道该怎么办,浮动div#content-5停在页脚。有人可以帮忙吗?

最佳答案

将此添加到scroll()事件:

  // if the bottom of #content-5 reached the top of the footer
  if($(window).scrollTop() > $("#footer").offset().top - $("#content-5").height()) {
       $("#content-5").css({
          position: 'absolute',
          top: $("#footer").offset().top - $("#content-5").height(), // Place it above the footer
          bottom: 'auto'
      });
  }


演示:http://jsfiddle.net/Ym2Ga/82/

10-05 21:55