2009-10-31 2 views
0

때문에, 물건은 다음과 같습니다#element_id로 이동하는 기본 브라우저를 Effect.scrollTo로 바꾸시겠습니까?

누군가가 내 웹 사이트와 페이지가로드로 연결되는 링크를 클릭 할 때, prototypeJS이 URL에 #elementId이 있는지 관찰하고 그것을 요소에 점프에서 브라우저를 중지 할 예정이다

scrollTo()와 함께.

이전에 jQuery와 만 보았지만 prototype을 사용하여이를 수행하는 방법을 알 수 없었습니다.

답변

1

(< A HREF = ".."이름 = "elementId로부터">), 그래서 당신은 하나를 존재하지 않는 참조 경우 다음 페이지 스크롤거야 단지 0 당신은 온로드 리스너를 추가 할 수 체크 DOM이로드 된 후 url에 "# ..."이 있으면 id가 유효하면 $ ('elementId'). scrollTo();

0

click 이벤트 처리기에서 점프를 중지하려면 끝에 return false;이 있어야합니다. 점프 해결.

이 시간 동안 스크롤해야합니다.

이 과제를 시도한 적이 있습니까?

당신은 앵커 제거 할 수
+0

전혀 문제가 아니므로 href에서 #을 (를) 사용하여 모든 앵커의 관찰자를 만들고 onclick 이벤트를 요소로 스크롤하여 바꿀 수 있습니다. 나는 Tobie Langel이 몇 년 전에 특정 주제에 대한 블로그 글을 썼다 고 생각한다. 유 http://stackoverflow.com/questions/1654389/replace-default-browser-jumping-를 클릭하면 같은 관찰자는, 요소에 스크롤에서 브라우저를 중지 : 은 내가 얻으려고하는 것은 '로드 DOM'입니다 to-elementid-with-effect-scrollto # answer-1654643 당신의 대답에 당신을 던질 것이 아니라 그 브라우저 이벤트를 취소하고 그것에 scrollTo()를 사용하십시오. – Kemo

+0

그 링크는 새 탭/창에서 열지 만이 링크는이 탭에 없습니다. =) – Kemo

+0

새 창으로 어떻게 이동합니까? Javascript는 별도의 창 사이에서 잘 작동하지 않으며 심지어 탭을 변경하는 것도 간결한 트릭입니다. –

관련 문제