首页 > Web开发 > 详细

用js写的一个路由

时间:2016-09-24 11:43:25      阅读:142      评论:0      收藏:0      [点我收藏+]

前几天在院子里看了一个大牛用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写的一个路由

原文:http://www.cnblogs.com/xmhu/p/5902633.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!