내 클래스 프로젝트 용 사이트를 개발하는 중이고 끈적 거리는 탐색을 구현하기 위해 중간 지점을 사용하고 있습니다. 페이지로드시의 네비게이션은 ViewPort의 하단에 위치하며, 웨이 포인트가 네비게이션 바가 뷰포트의 상단을 눌렀 음을 감지하면 위로 스크롤합니다. "nav-is-sticky"클래스를 적용합니다. 웨이 포인트를 다시 스크롤하면 다시 웨이 포인트를 감지합니다 그것을 올바른 위치에 놓습니다.Waypoints 리사이즈 문제를 사용하는 끈적 Nav
내 문제는 창 크기 조정에서 발생합니다. 무엇이 잘못되었는지 알고 있습니다. 나는 얼굴을 쳐다보고 있어도 해결 방법을 찾아 낼 수 없습니다. 페이지를 아래로 내리고 탐색이 뷰포트 상단에 "고정"된 후 창 크기를 조정하면 waypoints 함수가 다시 실행되고 탐색이 뷰포트의 맨 위에 걸리므로 히트가 트리거되어 다시 저장됩니다 원래 위치.
문제는 여기에서 볼 수 있습니다. 아래로 스크롤하면 영웅 이미지가 보이지 않고 크기가 조정됩니다. 여기 http://www.digitaldripmedia.com/web_campaign_project
는 CSS를
.nav-global-bar {
position: absolute;
background-color: $dark-gray;
height: 4.25em;
width: 100%;
top: 0;
}
.nav-is-sticky {
position: fixed;
top: 0;
}
이며, 여기에 어떤 도움이 많이 나는 더 나은 청소기 방식으로이 작업을 수행의 방법뿐만 아니라 감사
var windowH = $(window).height();
var navH = $('nav').height();
function navPos() {
windowH = $(window).height();
navH = $('nav').height();
var nav = $('nav');
if (!nav.hasClass('nav-is-sticky')) {
// positions nav bar at bottom of viewport
nav.css({
top: windowH - navH
});
}
nav.waypoint(function(direction) {
if (direction == 'down') {
// if nav bar hits top of viewport apply nav is stick class
nav.addClass('nav-is-sticky');
$('.nav-is-sticky').css({
top: 0
});
} else if (direction == 'up') {
//remove nav is sticky class when scrolling back up and put back to original spot
nav.removeClass('nav-is-sticky');
if (!nav.hasClass('nav-is-sticky')) {
nav.css({
top: windowH - navH
});
}
}
});
}
navPos();
$(window).resize(function() {
if(!$('nav').hasClass('nav-is-sticky')) {
navPos();
}
});
JQuery와에게 있습니다 jquery에 아직 새로운 감사합니다!
절대적으로 나를 미치게 만들어 주셔서 감사 드리며, 내가해야만하는 모든 일이 메인에서 웨이 포인트를 유발하는 것이 었습니다. 잭은 움직이는 물체의 중간 지점이 원하지 않는 결과를주는 이유가 무엇입니까? 그것은 포지션이 절대적으로 흐름에서 벗어나는 것이기 때문입니까? – VinceBrown
그것이 그 핵심입니다. 기본적으로 요소에서 뷰포트를 기준으로 페이지가 떨어지는 위치와 요소를 다시 이동하여 해당 위치에 응답하는 것입니다. 그래서 그것은 일종의 자기 간섭이됩니다. – jack