이 웹 사이트에는 5 개의 블록이 있고 모두가 뷰포트 크기, 100 % 너비 및 100 % 높이를가집니다. 따라서 페이지가로드되면 첫 번째 페이지 만 볼 수 있습니다. 다른 것들은 그것 아래 있습니다. 그런 다음 아래로 스크롤하면 마지막 페이지가있는 페이지의 끝까지 페이지가 도달 할 때까지 2 번째 페이지를보고 3 번째 페이지를 볼 수 있습니다. 페이지가 기본 선형 방식 대신 블록 단위로 스크롤되도록하는 방법이 있다면 저는 생각하고있었습니다. 나는 두 블록 사이에서 길을 보는 대신에 아래로 스크롤 할 때 사용자가 두 번째 블록을 직접 볼 수있게하고 싶습니다 (가능하면 직접 애니메이션이 아니라 가능한 한 애니메이션으로). 이러한 블록은 다른 페이지와 같으며 아무 곳이나 클릭하지 않고도 (내가 가장 쉽게 사용할 수있는 유일한 방법 일 수 있습니다), 페이지 단위로 이동하고 스크롤하는 것이 좋습니다. 그게 가능하니? 감사!jQuery - 스크롤 할 때 페이지를 제어하십시오.
편집 :
내가 scrollTo 플러그인을 사용했지만, 나도 그것을 알아낼 수 없었다. 사용자가 쉽게 아래로 스크롤 할 때 고려해 봅시다. 이것은 내가 무슨 짓을 :
var tempScrollTop, currentScrollTop = 0; // 2 vars to check if user scrolls down
var isScrolling = false;
var nextPage = 2 // I'm on 1st page, I want to show page 2 when user scrolls down;
$(window).scroll(function(){
currentScrollTop = $(window).scrollTop(); // current position
if (tempScrollTop < currentScrollTop && ! isScrolling){ // if user scrolls down
isScrolling = true; // animation in progress, shouldn't get into this 'if' till finished
$(window).scrollTo('section#page-' + nextPage, 1000, {
onAfter: function(){ isScrolling = false; nextPage++; }
});
}
tempScrollTop = currentScrollTop; // update the current position
});
'가'문 검사는 사용자가 아래로 스크롤합니다. 기술적으로는 작동해야하지만 원하는 페이지를 보여준 후에 그는 다음 페이지로 이동 한 다음 하나씩 이동 한 다음 끝까지 스크롤을 계속합니다! 약간의 테스트를 통해, 모든 단일 애니메이션 (단일 전체 페이지 스크롤을 의미 함) 이후에 실행되어야하는 코드가 무작위로 실행된다는 것을 알았습니다. 즉, isScrollling = false는 발생하지 않고 nextPage ++는 스크롤을 계속하는 이유입니다 (실제로는 다음 페이지로 이동하기 때문입니다). 애니메이션이 끝난 후에해야 할 일이 아니라, 끝내야합니까? 나는 혼란 스럽다.
비 연속 모드로 설정할 때 Acrobat Reader 작동 방식과 비슷합니까? – Barmar
첫 번째 블록을 제외하고 기본적으로 블록을 숨 깁니다. 사용자가 블록 높이를지나 스크롤하면 다음 블록을 표시합니다. 원하는 경우 애니메이션을 적용 할 수 있습니다. 그게 당신이 말하는거야 확실하지 않은 경우 ... – donutdan4114
@ Barmar 종류지만, 조금 다른 원인으로 나는 스크롤 할 때 애니메이션을 원하지만 페이지에 도달하면 멈 춥니 다. – joeguarino