2011-10-14 2 views
2

요소가 페이지의 맨 아래에 있어도 요소로 스크롤하고 싶습니다. 페이지를 요소로 스크롤하려면 어떻게해야합니까?

나는
document.getElementById('idOfLink').focus(); 

을 시도했지만 요소가 사용자에게 그 보이지 않는 아주 긴 페이지 하단에있는 경우. 두 가지 방법이 다른 상황에서, 각 적합있다

window.location.hash = "idOfLink" 

Example

+0

, 그것은 모든 요소의 오프셋 (offset)로 이동하기 쉽습니다 idControl()). offset(). top); ' – Blazemonger

+0

@ mblase75 : 일반 DOM 메소드를 사용하면 더 쉽고 견고합니다. –

답변

1

당신은 원래 의도했던대로 해시 태그를 사용할 수 있습니다

당신은 scrollIntoView()을 사용할 수있는 요소를보기로 스크롤하지만 사용자가 뒤로 버튼을 눌렀을 때의 상태를 저장하지 않습니다.

당신이 버튼 지원을 다시 원하는 경우

, 당신은 window.location.hash을 수정해야합니다 :`$ (창) .scrollTop ($ ('# :

jQuery를에
window.location.hash = 'idOfLink'; 
+1

'window.location'에 이미 해시가있는 경우 해당 코드가 작동합니까? – Blazemonger

+0

기존 해시가 대체 됨 – campino2k

2

:

+1

+1, 새로운 기능에 대해 배우는 것을 좋아합니다. – Joe

관련 문제