2
현재 터치 스크롤 장치 및 데스크탑 브라우저에서 요소를 스크롤 할 수 있도록 사용자 정의 스크롤 플러그인 (나에 의해 작성된)을 사용하는 프로젝트를 진행 중입니다. 모든 것이 올바르게 작동합니다 (iOS의 속도 및 감속 포함).사용자 정의 스크롤 막대 jQuery/JavaScript의 수학
그러나 남은 유일한 문제는 사용자가 스크롤 할 때 스크롤 막대의 상단 (또는 왼쪽) 위치를 계산하는 것입니다. 나는 다음과 같은 포뮬러로 스크롤 바의 높이를 계산 한 :이 막대의 정확한 높이를 계산하는 것
Math.round((container.height()/content.height()) * 100);
,하지만 지금은 스크롤 바의 위치가 때 이동해야합니다 얼마나 많은에 의해 작동하는 포뮬러 필요 사용자가 스크롤합니다. 나는 Google을 통해 확인했고 사용법을 많이 찾을 수 없었으며 여기에서도 검색했으며 모든 의견을 환영합니다.
- 컨테이너 높이
- 내용 높이
- 현재 스크롤 위치 (
scrollTop
) - 스크롤 바의 높이
: scrollbar.height이 식에 의해 계산되어야한다 : 'Math.round ((scrollbarArea.height * container.height/content.height()); ' 보통 scrollbarArea.height = container.height –
답장을 보내 주셔서 감사합니다. 그러나 이것이 작동하지 않는 것 같습니다. 예를 들어, 여기에 몇 가지 스크롤이 발생한 후 계산이 모습입니다 : 358 * 6백98분의 33 = 17 358 * 6백98분의 40 = 21 358 * 6백98분의 54 = (28) 당신이 도와 주 시겠어요? 나는 스크롤바의 높이보다는 위치의 계산에 문제가 있다고 생각한다. (나는 스크롤바의 공식을 사용했다. 높이도). – BenM