2013-01-31 70 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