2009-07-09 2 views
1

페이지로드시 특정 div를 숨기 (표시 : 없음)하는 스크립트가 있습니다. Div 내용은 책에 대한 설명을 나타내며 전체 목록은 일종의 참고 문헌입니다.외부 페이지의 앵커를 참조하여 숨겨진 div 확장하기

<ul> 
<li><a href="bibl.html#div1"></li> 
<li><a href="bibl.html#div2"></li> 
... 
</ul> 
: 모든 사업부는 아이디, 예를 들어, "div1", "DIV2"등

<ul> 
<li><div class="hidden" id="div1"></li> 
<li><div class="hidden" id="div1"></li> 
... 
</ul> 

그리고 다른 페이지는 그러한 모든 사업부에 고정 된 링크로 구성된 메뉴와 함께 거기에있다

다른 페이지의 링크를 클릭하면 숨겨진 div가 자동 확장됩니다. 나는 window.location.href 물건을 보았지만 아무 소용이 없다 - 나의 JS는 아직 약하다. 논리를 이해하면 현재 URL을 가져 와서 "#"을 확인한 다음 id 속성에서 오른쪽 부분이있는 요소를 검색하십시오. .

window.onload = function() { 
    var hash = window.location.hash; // would be "#div1" or something 
    if(hash != "") { 
     var id = hash.substr(1); // get rid of # 
     document.getElementById(id).style.display = 'block'; 
    } 
}; 

기본적으로, 당신은 윈도우의 HREF가 부착 된 해시가 있는지 여부를 페이지로드에서 확인하십시오 : 덕분에 많은 종류의 사람들은)

답변

6

당신은 대상 페이지에서이 같은 작업을 수행 할 수 있습니다. 그렇다면 <div>을 찾고 스타일 표시를 차단으로 변경하십시오.

+0

있습니다. 이제 행복해? 너는 하나있어 :) – Sampson

+0

아니, 난 행복하지 않아. 나는 PHP 질문에 대한 전쟁의 길에있다. 나는 냄새를 맡을 수있는 금 가까이의 SOOO이다! :) –

0

window.location.hash을 사용하여 해시 값을 확인할 수 있습니다. 거기에서 당신은 getElementById(hashValue)를 보여줄 수 있습니다.

0

고맙습니다! 이 내용을 추가 할 수 있다고 생각했습니다.

location.href = '#' + id; 

페이지가 참조 된 div의 위치로 스크롤됩니다.

+0

자동으로 그렇게하면 안됩니까? –

관련 문제