好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

用js写的一个路由

前几天在院子里看了一个大牛用js写了一个路由的,有一句代码一直不知道怎么回事,后来就自己写了一个,写的比较的粗糙,我觉得把面向对象的思想都搞得乱七八糟的,不过功能实现了.

 
 
 
     
     js实现路由 
 
 
     white 
     green 
     blue 
     yellow 
 
 

 

     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' );
    });

  
   

查看更多关于用js写的一个路由的详细内容...

  阅读:40次