2011-09-22 29 views
1

我有一個div,我想從窗口頂部向上滾動20px時固定div,當您獲得底部時,從頁腳向上移動40px。我的代碼似乎並不常見,必須有更好的方法? Page LinkDiv定位固定在margin-top:滾動時爲20px

$(document).scroll(function() { 
     if($(window).scrollTop() >= 345){ 
      $('#rightShipping').css({'position' : 'fixed', 'top' : '0px'}); 
     } 
     if($(window).scrollTop() <= 346){ 
      $('#rightShipping').css({'position' : '', 'top' : ''}); 
     } 
     console.log($(window).scrollTop()); 
    }); 
+0

[div的margin-top滾動時保留20px的可能重複](http://stackoverflow.com/questions/7508734/divs-margin-top-stays-20px-when-scrolling) –

回答

0

一個快速的想法 - 我會刪除.rightCol塊,只留下一個#rightShippingtop: 20px它的父與position: relative。然後用這個代碼:

$(document).scroll(function() { 

    var scrollTop = $(window).scrollTop(); 

    var offsetTop = $('#rightShipping').offset().top; 
    var positionTop = $('#rightShipping').position().top; 

    if (scrollTop >= offsetTop - positionTop) { 
     $('#rightShipping').css('position', 'fixed'); 
    } else { 
     $('#rightShipping').css('position' : 'relative'); 
    } 
}); 

我真的不,知道這是否會工作,我沒有測試過,我需要得到一些睡眠,但我希望它能幫助。

祝你好運!