html5—历史管理(通过跳转页面))

来源:互联网 发布:2017年7月进出口数据 编辑:程序博客网 时间:2024/06/01 12:52

历史管理(通过跳转页面)

window.onhashchange
— 改变hash值(#x)来管理

用途:可以做成不改变网址,仅改变hash值进行历史管理(window.location.hash)

练习:做一个随机彩票页面,可以通过历史管理返回
即从1~35随机选择7个数,但这7个数不能出现重复

<body><input type="button" value="生成彩票" ><span></span><script>    var oBtn=document.getElementsByTagName('input')[0];    var oSpan=document.getElementsByTagName('span')[0];    var json={};    function randomticket(howL,num){        var arr=[];        var newArr=[];        for(var i=0;i<howL;i++){            arr.push(i+1);        }        for(var i=0;i<num;i++){            newArr.push(arr.splice(Math.floor(Math.random()*arr.length),1));            }//Math.random()*arr.length得到一个1~35中的随机数,math.floor()向下取整,arr.splice(Math.floor(Math.random()*arr.length),1)返回的是被删除的这个数,整行的意思是将产生的这个随机整数从arr数组中删去,并将这个数存入到newArr数组中,这样可以避免产生重复的随机数 }oBtn.onclick=function(){            var arr1=randomticket(35,7);//arr1数组存的是newArr            var iRan=Math.random();            json[iRan]=arr1;//iRan这个随机数为json中的键,数组arr1为json中iRan这个键的值            oSpan.innerHTML=arr1;            window.location.hash=iRan;//将随机数iRan作为哈希值,则这个哈希值就是键        }        window.onhashchange=function(){//改变hash值(#x)来管理            //alert(window.location.hash);            oSpan.innerHTML=json[window.location.hash.substring(1)];//删除前面的#,通过键(hash值)将json中对应的值取出        }</script></body>
0 0
原创粉丝点击