用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 相关文章推荐
Exitjs获取DataView中图片文件名
Nov 26 Javascript
js替代copy(示例代码)
Nov 27 Javascript
Javascript排序算法之合并排序(归并排序)的2个例子
Apr 04 Javascript
js判断某个方法是否存在实例代码
Jan 10 Javascript
jQuery 获取遍历获取table中每一个tr中的第一个td的方法
Oct 05 Javascript
webpack4 处理SCSS的方法示例
Sep 03 Javascript
详解如何使用nvm管理Node.js多版本
May 06 Javascript
微信小程序 调用远程接口 给全局数组赋值代码实例
Aug 13 Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
Nov 05 Javascript
jquery使用echarts实现有向图可视化功能示例
Nov 25 jQuery
JavaScript实现PC端四格密码输入框功能
Feb 19 Javascript
JavaScript 生成唯一ID的几种方式
Feb 19 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 jq jquery getJSON跨域提交数据完整版
2013/09/13 PHP
php中多维数组按指定value排序的实现代码
2014/08/19 PHP
php中动态修改ini配置
2014/10/14 PHP
分享PHP函数实现数字与文字分页代码
2015/07/28 PHP
认识延迟时间为0的setTimeout
2008/05/16 Javascript
Dom 结点创建 基础知识
2011/10/01 Javascript
文本框输入时 实现自动提示(像百度、google一样)
2012/04/05 Javascript
表头固定(利用jquery实现原理介绍)
2012/11/08 Javascript
用js一次改变多个input的readonly属性值的方法
2014/06/11 Javascript
js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法
2015/04/25 Javascript
详解参数传递四种形式
2015/07/21 Javascript
jquery实现顶部向右伸缩的导航区域代码
2015/09/02 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
2015/11/24 Javascript
通过node-mysql搭建Windows+Node.js+MySQL环境的教程
2016/03/01 Javascript
Javascript HTML5 Canvas实现的一个画板
2020/04/12 Javascript
jQuery代码实现对话框右上角菜单带关闭×
2016/05/03 Javascript
AngularJS基础 ng-value 指令简单示例
2016/08/03 Javascript
Vue.js数据绑定之data属性
2017/07/07 Javascript
JS实现水平遍历和嵌套递归操作示例
2019/08/15 Javascript
[01:03:42]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python实现list元素按关键字相加减的方法示例
2017/06/09 Python
python 系统调用的实例详解
2017/07/11 Python
pandas 对series和dataframe进行排序的实例
2018/06/09 Python
Python字典中的键映射多个值的方法(列表或者集合)
2018/10/17 Python
用Python抢火车票的简单小程序实现解析
2019/08/14 Python
python实现将列表中各个值快速赋值给多个变量
2020/04/02 Python
Python SMTP配置参数并发送邮件
2020/06/16 Python
John Varvatos官方网站:设计师男士时装
2017/02/08 全球购物
澳大利亚领先的在线美容商城:Adore Beauty
2017/04/14 全球购物
求职自荐信
2013/12/14 职场文书
2015年学校禁毒工作总结
2015/05/27 职场文书
催款函怎么写
2015/06/24 职场文书
教务处干事工作总结
2015/08/14 职场文书
2016教师学习教育法心得体会
2016/01/19 职场文书
2016优秀青年志愿者事迹材料
2016/02/25 职场文书
Redis持久化与主从复制的实践
2021/04/27 Redis