前幾天在網上看了一個大牛用js寫了一個路由的,有一句代碼一直不知道怎麼回事,後來就自己寫了一個,寫的比較的粗糙,我覺得把面向對象的思想都搞得亂七八糟的,不過功能實現了。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>js實現路由</title>
</head>
<body>
< a href=" " >white</ a>
< a href="#/green" >green</ a>
< a href="#/blue" >blue</ a>
< a href="#/yellow" >yellow</ a>
</body>
</html>
<script>
function Route(){
}
Route.prototype.open=function(route,callback){
var arr={};
arr[route]=callback;
window.addEventListener('hashchange',function(){
var temp=window.location.hash;
for(var i in arr){
if(i==temp.slice(1,temp.length)){
arr[i]();
}
}
})
}
window.Route=new Route();
function change(color){
var body=document.getElementsByTagName('body')[0];
body.style.backgroundColor=color;
console.log(color);
}
Route.open('/',function(){
change('');
});
Route.open('/green',function(){
change('green');
});
Route.open('/blue',function(){
change('blue');
});
Route.open('/yellow',function(){
change('yellow');
});
</script>
以上就是小編為大家帶來的用js寫的一個路由(簡單實例)的全部內容了,希望對大家有所幫助,多多支持~