본질적으로 네 개의 div 인 웹 사이트가 있습니다. 각 웹 사이트 높이는 전체 문서 크기가 창 높이의 4 배가되도록 설정되어 있습니다. 아이디어는 사업부에서 클릭 한 "창 높이"로 스크롤을 진행한다는 것입니다가장 가까운 미리 정의 된 위치로 "스냅"할 수 있습니까?
는- 다음과 같이 작동합니다 : 그러나, 페이지 수동으로 사용자가 스크롤 한 후
// on click event
if(cur_frame<number_slides){
scrolling = true;
$('html,body').animate({scrollTop:window_height*cur_frame},function(){
scrolling=false;
});
}
, 나는 좋겠 위치를 가장 가까운 배수의 창 높이에 "맞추기"를 원합니다. 그래서 주어진 div가 다시 화면의 중앙에 오게됩니다. 나는 ... 약간의 지연이 천 배를 두 번째 트리거에서 계속 것이라고
// on scroll event
clearTimeout(scroll_timer);
if(!scrolling) scroll_timer = setTimeout(function(){
if(cur_scroll!=window_height*(cur_frame-1)) {
scrolling = true;
$('html,body').stop().animate({scrollTop:window_height*(cur_frame-1)},function(){
scrolling = false;
});
}
},100); //20? 400? 1000?
을 파악, 타임 아웃을 사용하여 시도 ...하지만 스크롤 위치를 통해 사용자 싸움 스크립트 사이의 균형을 공격 할 수 없었다 , 또는 "물어 뜯기"효과를 저지르는 심각한 지연이 있습니다.
어떻게 달성 될지 제안 해주세요.
하나의 문제는 ... 페이지 앵커에는 전혀 "스크롤"이 없습니다. – Sparky
그래, 어디로 스크롤 해야할지 압니다. 문제는 매끄러운 '스냅 핑'효과입니다 .. –
페이지 앵커의 전체 지점은 위치에 스냅하는 것입니다! 그것은 작동합니다, 나는 확실하게 답변을 게시하기 전에 FF 크롬과 IE에서 시도했습니다. 내가 그걸로 뽑혔다는 것을 믿을 수 없어! –