이는 가까운 : http://jsfiddle.net/r6kTs/104/ 외에도 그것은 또한 작동하지 않습니다, 이것은 정말 나쁜 perfomance *을 가지고 있으며, 아마도 그 사실에 대해 할 수있는 많은이없는 사실에서
완벽하게 아직 : 전체 탐색 표시 줄이 숨겨 지도록 아래로 스크롤 한 다음 조금 위로 스크롤하여 조금만 표시 한 다음 여전히 남아있는 탐색 표시 줄로 다시 아래로 스크롤 한 다음 다시 위로 이동합니다. 조금은 예상하지 못한 것. 나는 그것이 왜 그렇게하는지 압니다. 그러나 나는 지금 당장 해결책을 찾을 수 없습니다. 어쩌면 너의 누군가가 할 수 있을까?
* 편집 : 사실, 이제는 내 사이트에서 실행 했으므로 성능이 너무 좋아지는 것을 눈치 채지 못했습니다. 예, 많이 요구하지만 가치가 있다고 생각합니다. 낮은 하드웨어.
$(function(){
var lastScrollTop = 0, delta = 5, last = 'up', foo = 99999999, state = 'fixed', lastpos;
$(window).scroll(function(event){
var st = $(this).scrollTop();
// if(Math.abs(lastScrollTop - st) <= delta) return;
if (st > lastScrollTop){
// scrolling down
if(last == 'up') {
if (state == 'fixed') {
lastpos = (document.documentElement.scrollTop - 1);
$("#header").css({'position': 'absolute', 'top': lastpos});
state = 'absolute';
}
last = 'down';
}
} else {
// scrolling up
let posnow = document.documentElement.scrollTop
if ((posnow - lastpos) > 50 || (posnow - lastpos) < 0) {
if (last == 'down') {
foo = posnow - 51;
$("#header").css({'position': 'absolute', 'top': foo});
} else {
if (foo > st) {
$("#header").css({'position': 'fixed', 'top': '0'});
state = 'fixed'
}
}
}
last = 'up';
}
lastScrollTop = st;
});
});
특정 시점을 지나서 스크롤하면 navbar를 숨기시겠습니까? 간단한 JSfiddle을 함께 넣어 주시겠습니까? 나는 아이디어가 있지만 그걸 갖고 놀고 싶습니다. – Phil
@phil : 아니요, navbar가 사라질 때까지 1px 스크롤 당 1px 스크롤합니다. 자연스럽게 스크롤. – Hillcow
그 점을 이해합니다. 내가 이해할 수없는 것은 다른 모든 콘텐츠와 마찬가지로 문서 상단에 상대적으로 탐색 바를 배치하는 것과 다른 점입니다. – Phil