<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>hash</title>
<style>
* {
margin: 0;
padding: 0;
list-style: none;
}
.tab {
width: 300px;
}
.tab-choose {
width: 300px;
height: 40px;
}
.tab-choose li {
float: left;
width: 100px;
line-height: 40px;
box-sizing: border-box;
border: 1px solid #000;
border-right: none;
text-align: center;
}
.tab-choose li:last-child {
border-right: 1px solid #000000;
}
.tabCur {
background: black;
color: #fff;
}
.tab-cont {
width: 298px;
height: 200px;
border: 1px solid #000;
}
.page {
display: none;
}
.page.cur {
display: block;
}
</style>
</head>
<body>
<div class="tab">
<div id="tab" class="tab-choose">
<ul>
<li class="tabCur">选择一</li>
<li>选择二</li>
<li>选择三</li>
</ul>
</div>
<ul class="tab-cont">
<li id="page1" class="page cur">内容一</li>
<li id="page2" class="page">内容二</li>
<li id="page3" class="page">内容三</li>
</ul>
</div>
</body>
<script>
window.onload = function () {
var nav = document.getElementById('tab');
var navLi = nav.getElementsByTagName('li');
for (var i = 0, len = navLi.length; i < len; i++) {
(function (i) {
navLi[i].onclick = function () { //点击nav中的li,改变hash值
for (var j = 0;j<navLi.length;j++){
navLi[j].className = '';
}
location.hash = 'page' + (i + 1);
this.className='tabCur'
}
})(i);
}
location.hash = 'page1'; //每次页面重新加载时都回到page1
var oldHash = location.hash;
window.onhashchange = function () {
var newHash = location.hash;
var oldPage = document.querySelector(oldHash);
var newPage = document.querySelector(newHash);
oldPage.classList.remove('cur');
newPage.classList.add('cur');
oldHash = newHash;
};
}
</script>
</html>