2010-07-13 9 views
1

HTML 페이지를 열려고하는 문자의 순서를 계산할 수 있습니다.HTML의 문자 번호 N을 아래로 스크롤

HTML 마크 업에서 n 번째 문자 위치까지 스크롤하는 스크립트를 작성할 수 있습니까?

의 말을하자이 내 HTML입니다 : 그 HTML (에 28 문자로 아래로 스크롤 할 방법

<p>Hello</p> 
<p>Hello</p> 
<p>Scroll here</p> 
<p>Hello</p> 

그래서

여기 스크롤

어디에 페이지가됩니다 시작할 것이다)?

답변

1

element로 이동하기에도 충분 경우,

$(document.body).scrollTop($('p:nth-child(3)').offset().top); 

처럼 그것을 대신 오프셋 값의 당신은 또한 단지 또 다른 방법은 호출하는 것입니다

$(window).scrollTop(28); 

같은 값을 설정할 수 있습니다 scrollIntoView() like

$('p:nth-child(3)')[0].scrollIntoView(); 
1

JavaScript는 DOM에서 작동하며 DOM은 반드시 HTML과 일대일 관계를 가질 필요가 없으므로 모든 접근 방식은 많은 해킹이 필요합니다.

중요한 문자 또는 공백을 포함합니까?

+0

중요하지 않은 문자. UTF-8 문자가 될 수 있습니다. 아래로 스크롤하려는 위치는 PHP에서 복잡한 스크립트로 계산됩니다. 그런 다음이 위치 (정수)를 자바 스크립트로 보내면 아래로 스크롤해야합니다. –

+1

JavaScript를 실행하면 전체 페이지 HTML이 DOM 구조로 구문 분석되고 원래 HTML의 문자 또는 줄 번호 기록이 모두 사라집니다. DOM의 텍스트 내용에서만 문자 수를 계산할 수 있습니다 (공백 문자의 경우에도 IE와 다른 브라우저에서 동일하지는 않습니다). – bobince

+0

@bobince 틀렸어. HTML을 출력하기 전에 PHP에서 위치를 계산하고 자바 스크립트 내부에서 반향시킬 수 있습니다 ... 그래서 아래로 스크롤하려는 위치를 알고 있습니다. 난 그냥 그것을 할 자바 스크립트 함수가 필요합니다. –

관련 문제