2014-02-11 3 views
0

사이드 바 안의 div를 클릭하면 div 안에 특정 파일이로드됩니다. www.something.com파일을 div에 자동로드되도록 URL을 변경하는 방법은 무엇입니까?

내가 사이드 바에서 클릭하여 필요한 것은 www.something.com#file01, 또는 같은 것을 얻을 수 있습니다 - 예를 들어,

<div id="menuLeft"> 
<div id="file01">File 01</div> 
<div id="file02">File 02</div> 
<div id="file03">File 03</div> 
</div> 

JS

$("#menuLeft div").click(function() { 
var id = "chapters/" + $(this).attr('id') + ".php"; 
$('#divRight').load(id); 
}); 

이 모두 작동하지만 URL은 항상 동일합니다 다른 내용이므로이 URL을 다른 창에 입력하면 file01이 자동으로 divRight 안에로드됩니다.

어떤 도움이 필요합니까?

+0

페이지가로드 될 때, location.hash''을 확인합니다. 설정되어 있다면, 선두의'#'를 제거하고'.load()'를 호출하십시오. –

+0

@RocketHazmat, 고마워, 나는 시도 할 것이다. 그냥 질문 : 동일한 절차에 다른 div가있는 경우 URL 내에 2-3 개의 해시를 사용할 수 있습니까? – bonaca

+0

원하는대로 해시 값을 만들 수 있습니다. 예를 들어'# file01, file02'을 할 수 있습니다. 그런 다음'#'을 제거하고'.split (',')'를 사용하십시오. –

답변

1

은 당신이해야 할 두 가지가 있습니다.

document.location.hash = "file01"; 

그리고 두 번째 페이지로드, 해시를 확인하고 해당 파일을로드 :

첫째, 당신은 해시를 변경해야합니다.

그러나 더 나은 것은 HistoryAPI 또는 유사한 구현을 사용하는 것입니다. 예를 들어 HistoryJS을 사용하면 상태를 만들 수 있으므로 사람들이 브라우저에서 앞뒤를 눌러 이들 페이지간에 전환 할 수 있습니다.

+0

감사합니다. MMM, 시도해 보겠습니다. – bonaca

관련 문제