用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 相关文章推荐
JScript中使用ADODB.Stream判断文件编码的代码
Jun 09 Javascript
dwr spring的集成实现代码
Mar 22 Javascript
实现png图片和png背景透明(支持多浏览器)的方法
Sep 08 Javascript
jQuery html() in Firefox (uses .innerHTML) ignores DOM changes
Mar 05 Javascript
自制轻量级仿jQuery.boxy对话框插件代码
Oct 26 Javascript
javascript动画浅析
Aug 30 Javascript
js实现类似jquery里animate动画效果的方法
Apr 10 Javascript
js给selected添加options的方法
May 06 Javascript
基于jquery实现复选框全选,反选,全不选等功能
Oct 16 Javascript
JS获取数组最大值、最小值及长度的方法
Nov 24 Javascript
jQuery实现简单日期格式化功能示例
Sep 19 jQuery
vue 解决computed修改data数据的问题
Nov 06 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
PHP中创建并处理图象
2006/10/09 PHP
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
2014/11/04 PHP
微信公众号开发之文本消息自动回复php代码
2016/08/08 PHP
Yii2 批量插入、更新数据实例
2017/03/15 PHP
Avengerls vs Newbee BO3 第一场2.18
2021/03/10 DOTA
JavaScript中的私有成员
2006/09/18 Javascript
HTML代码中标签的全部属性 中文注释说明
2009/03/26 Javascript
究竟什么是Node.js?Node.js有什么好处?
2015/05/29 Javascript
JavaScript中eval()函数用法详解
2015/12/14 Javascript
Boostrap入门准备之border box
2016/05/09 Javascript
jQuery实现的省市县三级联动菜单效果完整实例
2016/08/01 Javascript
浅谈Node.js:fs文件系统模块
2016/12/08 Javascript
原生javascript实现读写CSS样式的方法详解
2017/02/20 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
2017/03/31 Javascript
解决vue-quill-editor上传内容由于图片是base64的导致字符太长的问题
2018/08/20 Javascript
element-ui 的el-button组件中添加自定义颜色和图标的实现方法
2018/10/26 Javascript
jQuery实现的3D版图片轮播示例【滑动轮播】
2019/01/18 jQuery
Angular PWA使用的Demo示例
2019/01/31 Javascript
JavaScript canvas实现雪花随机动态飘落
2020/02/08 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
JavaScript Window浏览器对象模型原理解析
2020/05/30 Javascript
对python 多线程中的守护线程与join的用法详解
2019/02/18 Python
Django 配置多站点多域名的实现步骤
2019/05/17 Python
Python Selenium截图功能实现代码
2020/04/26 Python
使用opencv识别图像红色区域,并输出红色区域中心点坐标
2020/06/02 Python
施华洛世奇澳大利亚官网:SWAROVSKI澳大利亚
2017/01/06 全球购物
聪明的粉丝购买门票的地方:TickPick
2018/03/09 全球购物
线程问题:wait()方法是定义在哪个类里面
2015/07/07 面试题
最新的大学生找工作自我评价
2013/09/29 职场文书
酒店管理毕业生自荐信
2013/10/24 职场文书
适用于所有创业者的创业计划书
2014/02/05 职场文书
事假请假条范文
2014/04/11 职场文书
医院党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
纯 CSS 自定义多行省略的问题(从原理到实现)
2021/11/11 HTML / CSS
MYSQL优化之数据表碎片整理详解
2022/04/03 MySQL