2011-10-13 55 views
2

我的腳本有一點抖動。讓我們說一個距離瀏覽器頂部25px的元素,並且當我繼續向下滾動時。直到我的瀏覽器頂部觸及爲止,該元素纔會變成position:fixed;。那麼當我向下滾動時,該元素將會跟隨。但是,當我滾動回到頂部時,這個抖動會來自該元素,然後它會重置到原來的位置(距離頂部25px)。使用jquery滾動固定的元素,當瀏覽器的頂部時

有沒有辦法消除抖動?

謝謝!

這裏是我的jQuery腳本:

$(function() { 
var a = function() { 
    var b = $(window).scrollTop(); 
    var d = $("#notification-anchor").offset({scroll:false}).top; 
    var c = $("#notification"); 
    if (b > d) { 
     c.css({position:"fixed",top:"0px"}) 
    } else { 
      if(b<=d){ 
     c.css({position:"relative"}) 
      } 
    } 
}; 
$(window).scroll(a);a() 

});

回答

5

請使用以下代碼嘗試。 。工具欄將像GMail工具欄一樣粘在頁面頂部。你想要嗎?

$(function() { 
    var $sidebar = $('.toolsbar'); 
    $window = $(window); 
    offset = $sidebar.offset(); 
    topPadding = 0; 

    $window.scroll(function() { 
     if ($window.scrollTop() > offset.top) { 
      $sidebar.css({ 
       'top': '0', 
       'position': 'fixed' 
      }); 
     } else { 
      $sidebar.css({ 
       'top': '', 
       'position': '' 
      }); 
     } 
    });    
}); 
相關問題