<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
//第一种实现 :onhashchange: 事件;当hash值有变化的时候,就触发
window.onload=function()
{
var oInput=document.getElementById("input1");
var oDiv=document.getElementById("div1");
//var obj={};
oInput.onclick=function()
{
var number=randomNum(35,7);
oDiv.innerHTML=number;
var oRD=Math.random();
obj[oRD]=number;
window.location.hash=oRD;
}
window.onhashchange=function()
{
var number=obj[window.location.hash.substring(1)] || '';
oDiv.innerHTML=number;
}
function randomNum(alls,now)
{
var arr=[];
var newArr=[];
for(var i=1;i<=alls;i++)
{
arr.push(i);
}
for(var i=0;i<now;i++)
{
var a=Math.floor(Math.random()*arr.length);
newArr.push(arr.splice(a,1));
}
return newArr;
}
//第二种实现: histroy
//pushState:三个参数:数据 标题(都没实现) 地址(可选)
//popstate事件: 读取数据 event.state
oInput.onclick=function()
{
var number=randomNum(35,7);
oDiv.innerHTML=number;
history.pushState(number,'');
}
window.onpopstate=function(ev)
{
var number=ev.state || '';
oDiv.innerHTML=number;
}
}
</script>
</head>
<body>
<input type="button" id="input1" value="35选7" />
<div id="div1"></div>
</body>
</html>