用js写的一个路由(简单实例)


Posted in Javascript onSeptember 24, 2016

前几天在网上看了一个大牛用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写的一个路由(简单实例)的全部内容了,希望对大家有所帮助,多多支持三水点靠木~

Javascript 相关文章推荐
用脚本调用样式的几种方法
Dec 09 Javascript
为Yahoo! UI Extensions Grid增加内置的可编辑器
Mar 10 Javascript
JavaScipt基本教程之JavaScript语言的基础
Jan 16 Javascript
判断客户浏览器是否支持cookie的示例代码
Dec 23 Javascript
JavaScript italics方法入门实例(把字符串显示为斜体)
Oct 17 Javascript
JS实现方向键切换输入框焦点的方法
Aug 19 Javascript
JavaScript中三种异步上传文件方式
Mar 06 Javascript
微信小程序中子页面向父页面传值实例详解
Mar 20 Javascript
VUE兄弟组件传值操作实例分析
Oct 26 Javascript
vue-cli点击实现全屏功能
Mar 07 Javascript
微信小程序实现上拉加载功能示例【加载更多数据/触底加载/点击加载更多数据】
May 29 Javascript
5个你不知道的JavaScript字符串处理库(小结)
Jun 01 Javascript
简单的js表格操作
Sep 24 #Javascript
js面向对象实现canvas制作彩虹球喷枪效果
Sep 24 #Javascript
轻松实现js选项卡切换效果
Sep 24 #Javascript
在localStorage中存储对象数组并读取的方法
Sep 24 #Javascript
基于JavaScript实现跳转提示页面
Sep 24 #Javascript
JavaScript实现DOM对象选择器
Sep 24 #Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
Sep 23 #Javascript
You might like
用缓存实现静态页面的测试
2006/12/06 PHP
php中取得URL的根域名的代码
2011/03/23 PHP
一个简单的网页密码登陆php代码
2012/07/17 PHP
php设计模式之观察者模式的应用详解
2013/05/21 PHP
php下pdo的mysql事务处理用法实例
2014/12/27 PHP
百度工程师讲PHP函数的实现原理及性能分析(一)
2015/05/13 PHP
php生成过去100年下拉列表的方法
2015/07/20 PHP
PHP小白必须要知道的php基础知识(超实用)
2017/10/10 PHP
PHP多进程通信-消息队列使用
2019/03/08 PHP
PHP使用递归按层级查找数据的方法
2019/11/10 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
硬盘浏览程序,保存成网页格式便可使用
2006/12/03 Javascript
用JTrackBar实现的模拟苹果风格的滚动条
2007/08/06 Javascript
JavaScript 数组的 uniq 方法
2008/01/23 Javascript
js 验证密码强弱的小例子
2013/03/21 Javascript
在javascript中关于节点内容加强
2013/04/11 Javascript
JS数组的赋值介绍
2014/03/10 Javascript
使用js dom和jquery分别实现简单增删改
2014/09/11 Javascript
JS使用parseInt解析数字实现求和的方法
2015/08/05 Javascript
vue.js数据绑定的方法(单向、双向和一次性绑定)
2017/07/13 Javascript
node实现简单的反向代理服务器
2017/07/26 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
2018/08/12 Javascript
VUE 全局变量的几种实现方式
2018/08/22 Javascript
vue移动端弹框组件的实例
2018/09/25 Javascript
解决vue scoped html样式无效的问题
2020/10/24 Javascript
[54:10]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
Linux下编译安装MySQL-Python教程
2015/02/02 Python
pandas将DataFrame的列变成行索引的方法
2018/04/10 Python
基于打开pycharm有带图片md文件卡死问题的解决
2020/04/24 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
2020/05/11 Python
基于HTML5 Canvas 实现弹出框效果
2017/06/05 HTML / CSS
Hudson Jeans官网:高级精制牛仔裤
2018/11/28 全球购物
英国女鞋购物网站:Moda in Pelle
2019/02/18 全球购物
2015年精神文明建设工作总结
2015/04/21 职场文书
2016年优秀党员教师先进事迹材料
2016/02/29 职场文书
排查Tomcat进程假死的问题
2022/05/06 Servers