2010-08-19 3 views
1

나는 나 자신을 위해 사이트에서 작업하고 있으며 다른 사이트에서 가져온 Mootools로 만든 사용자 정의 가로 스크롤러를 사용하고있다. 내가 스크롤러를 원하는대로 작동 시키려고했지만, 내가 고쳐야 할 두 가지 문제가 있으며 알아낼 수있는 노하우가 없습니다.가로 스크롤러와 Mootools

간단한 데모 페이지 here을 설정했습니다.

마우스 휠/트랙 패드를 위아래로 또는 왼쪽이나 오른쪽으로 스크롤 할 수 있습니다. 스크롤러를 잡고 끌면 선을 따라 아무 곳이나 클릭하여 직접 이동할 수 있습니다. 그래서 모든 기능은 괜찮습니다. 내 문제는 다음과 같습니다

당신이 (또는 어디에서든지 시작 위치 제외) 가운데로 스크롤하면
  1. 다음, 스크롤러 핸들이 내용이 머물러에도 불구하고 왼쪽/시작으로 다시 이동합니다, 브라우저 창 크기를 조정합니다. 그런 다음 스크롤을 다시 시작하면 스크롤러 핸들의 위치에 맞춰 내용이 뒤로 이동합니다. 윈도우 크기를 조정할 때 손잡이를 놓는 것이 이상적이지만,이 방법은 스스로 결정할 수 없습니다.

  2. 페이지의 끝/오른쪽에서 시작/"상단"으로 부드럽게 뒤로 스크롤하는 뒤로 버튼이 있습니다. 내가 관리해 왔던 가장 좋은 점은 지금 볼 수있는 것입니다. 콘텐츠가 순조롭게 뒤로 스크롤되는 반면, 스크롤러는 단순히 첫 번째 위치로 돌아갑니다. 간단히 말해 시작 부분으로 넘어 가서 간단히 처리 할 수는 있지만, 스크롤러가 내용을 부드럽게 뒤로 스크롤하면 훨씬 더 멋지게 보일 것입니다.

위와 관련한 도움을 주시면 대단히 감사하겠습니다.

답변

1

첫 번째 문제는 윈도우 크기가 조정될 때마다 positionIt()이 호출되기 때문에 발생합니다. 이 함수를 살펴보면 bottomSlider가 매번 초기화되고 있음을 알 수 있습니다. position.It()을 초기화 함수 및 위치 지정 함수로 나누고 윈도우 크기가 조정될 때 위치 지정 함수 만 호출되도록합니다.

두 번째 문제는 bottomSlider에 별도의 step() 함수를 만들고 online 익명 함수를 사용하는 대신 onChange 내에서 해당 함수를 호출하면 해결 될 수 있습니다. 그런 다음 step()을 호출하여 스크롤 막대를 원래 위치로 되돌려 놓은 다음 (또는 그에 따라 뷰포트를 이동하는) 타이머 또는 트윈을 만들 수 있습니다.

바라건대 그게 의미가 있습니다.

+0

positionIt 함수를 나눠서 resroller (yay!)에서 스크롤러 핸들을 유지하면서 페이지의 너비가 변경된 것을 핸들에서 알지 못한다는 또 다른 문제가 발생했습니다 브라우저의 너비가 초기 크기보다 작은 경우 또 다른 예를 들어 보겠습니다. http://bit.ly/9F6hSs 두 번째 문제는 아직 보지 못했습니다. 당신이 말하는 것은 완벽하게 이해할 수 있습니다. 코드 작성법을 알지 못합니다. (이것이 뻔뻔스럽지 않다면,이 경우에는 우둔합니다.) 지금까지 도와 주셔서 감사합니다. 감사드립니다! – theck