2013-01-31 71 views
0

我需要一个固定div滚动页面时,但在顶部和底部值之间.. 现在我有此代码,它的工作原理,但我无法找到解决方案停止时滚动我发现页面底部.. 我想要的400像素(我的页脚的高度)一个底部间隙..JQuery Div在滚动期间跟随顶部/底部间隙

jQuery(document).ready(function() { 
    var el = jQuery('#news_right_cont'); 
    var elpos = el.offset().top; 
    var gap = 174; 
    jQuery(window).scroll(function() { 
     var y = jQuery(this).scrollTop(); 
     if (y < elpos) { 
      el.stop().animate({ 
       'top': 174 
      }, 0); 
     } else { 
      el.stop().animate({ 
       'top': y - elpos + gap 
      }, 0); 
     } 
    }); 
}); 

我希望你能找到一个解决方案.. 谢谢

+0

对不起,但我发现您的代码风格难以阅读 – Alexander

回答

0

您可以使用以下命令查找滚动是否已到达页面底部

if (document.documentElement.clientHeight + y >= document.body.offsetHeight) { 
     //add your conditions     
    } 

,而不是你的if else

if (y < elpos) { 
      el.stop().animate({ 
       'top': 174 
      }, 0); 
     } else { 
      el.stop().animate({ 
       'top': y - elpos + gap 
      }, 0); 
     } 

添加以下

if (document.documentElement.clientHeight + y + 400 < document.body.offsetHeight) { 
          el.stop().animate({ top: y - elpos + gap }, 0); 
      } 

你基本上仅滚动内的限制。 `document.documentElement.clientHeight + y + 40中的数字400您可以根据您的页脚位置进行修改

+0

谢谢arun..but怎么可以我实施它在我的功能..我已经尝试,但我找不到解决方案.. – user2030854

+0

添加进一步comments..let我知道这是否有帮助 – arun

+0

谢谢阿伦,但我试过这样,并没有工作.. – user2030854