用js写的一个路由(简单实例)
2016-09-24 13:52
417 查看
前几天在网上看了一个大牛用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写的一个路由(简单实例)的全部内容了,希望对大家有所帮助,多多支持脚本之家~
您可能感兴趣的文章:
相关文章推荐
- Android--JS向Android传递参数,并获得返回值(一个简单的实例)
- JS调用OC简单实例-传递一个或者多个参数给oc方法
- 使用Node.js实现一个简单的FastCGI服务器实例
- 用原生JS实现一个简单计算的功能实例
- vue.js路由参数简单实例讲解------简单易懂
- 第26篇:AngularJS+ui-router实现一个超简单的登陆和跳转的二级路由demo
- nodejs + express + ejs + mongodb 一个非常简单的前后端开发的实例2
- 一个能说明问题的js的原型 prototype的实例--简单易懂
- webpack+Vue.js+vue-router的一个简单实例应用
- vue.js的一个简单实例
- 大话JS面向对象之扩展篇 面向对象与面向过程之间的博弈论(OO Vs 过程)------(一个简单的实例引发的沉思)
- angular js ng-route 路由简单实例
- js判断一个字符串是以某个字符串开头的简单实例
- 使用Node.js的express框架搭建一个简单项目并且添加了一个路由
- JS一个简单的注册页面实例
- 创建node.js一个简单的应用实例
- 使用Node.js实现一个简单的FastCGI服务器实例
- nodejs + express + ejs + mongodb 一个非常简单的前后端开发的实例3
- PHP实现一个简单url路由功能实例
- nodejs + express + ejs + mongodb 一个非常简单的前后端开发的实例