5 개의 링크와 5 개의 div가있는 탐색 모음이 있습니다. 첫 번째 링크를 클릭하면 첫 번째 div가 표시되고 나머지는 display: none
으로 설정됩니다. 나머지는 마찬가지입니다.location.hash를 사용하여 요소 표시/숨기기
나는 방문자에게 이러한 동적 "페이지"(보이는 divs)를 책갈피로 남겨서 URL 해시를 사용하고 싶습니다. 하지만 예상대로 작동하지 않습니다. 예를 들어 특정 상태 (특정 div가 표시된 위치)로 직접 이동할 수는 없습니다. 명확하지 않은 경우 next
및 prev
방법을 사용하지 않아도 수행하려는 목표는 this video과 동일합니다.
다음은 내 코드 샘플입니다.
<style>
div { display:none; }
div#intro { display:block; }
</style>
<ul id="pages">
<li><a href="#intro">First link</a></li>
<li><a href="#continue">Second link</a></li>
<li><a href="#end">Third link</a></li>
</ul>
<div id="intro"></div>
<div id="continue"></div>
<div id="end"></div>>
<script>
function toggle() {
var i = 0,
divs = document.getElementsByTagName("div"),
hash = window.location.hash.substring(1); //extracts hash without #
for (i; i < divs.length ; i++) {
if (divs[i].id == hash) {
$(divs[i]).css("display", "block");
}
else {
$(divs[i].css("display", "none");
}
}
}
window.onhashchange = toggle;
</script>
'$ (divs [i]', typo? –
의 누락) 사이드 노트 : CSS3': target' 의사 클래스를 사용할 수도 있습니다. – bwoebi
@LightStyle 그게 문제가 아니야. –