2011-10-13 110 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': '' 
      }); 
     } 
    });    
}); 
相关问题