html5(历史管理)

来源:互联网 发布:rnm网络是什么意思 编辑:程序博客网 时间:2024/06/06 15:48
<!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>
0 0
原创粉丝点击