2011-10-13 2 views
2

내 스크립트에 약간의 지터가 있습니다. 말하자면 브라우저 상단에서 25px 떨어져 있고 스크롤을 계속하면됩니다. 이 요소는 브라우저 상단이 닿을 때까지 position:fixed;으로 바뀌지 않습니다. 그런 다음 아래로 스크롤하면 그 요소가 따라옵니다. 그러나 맨 위로 뒤로 스크롤하면 해당 요소가 내 페이지 상단을 따라 이동 한 다음 지리적 위치 (상단에서 25 픽셀 떨어진 위치)로 재설정됩니다.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': '' 
      }); 
     } 
    });    
}); 
관련 문제