用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 相关文章推荐
js实现的网站首页随机公告随机公告
Mar 14 Javascript
jQuery使用手册之一
Mar 24 Javascript
javascript获取元素CSS样式代码示例
Nov 28 Javascript
javascript 按键事件(兼容各浏览器)
Dec 20 Javascript
jquery的live使用注意事项
Feb 18 Javascript
JavaScript中日常收集常见的10种错误(推荐)
Jan 08 Javascript
easyui-datagrid开发实践(总结)
Aug 02 Javascript
Vue2.0用户权限控制解决方案的示例
Feb 10 Javascript
收集前端面试题之url、href、src
Mar 22 Javascript
微信小程序使用gitee进行版本管理
Sep 20 Javascript
微信小程序发送短信验证码完整实例
Jan 07 Javascript
使用eslint和githooks统一前端风格的技巧
Jul 29 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桌面中心(一) 创建数据库
2007/03/11 PHP
PHP Yaf框架的简单安装使用教程(推荐)
2016/06/08 PHP
在PHP中输出JS语句以及乱码问题的解决方案
2019/02/13 PHP
javascript作用域容易记错的两个地方分析
2012/06/22 Javascript
jquery之超简单的div显示和隐藏特效demo(分享)
2013/07/09 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/20 Javascript
字段太多jquey快速清空表单内容方法
2014/08/21 Javascript
JavaScript页面模板库handlebars的简单用法
2015/03/02 Javascript
JavaScript实现带箭头标识的多级下拉菜单效果
2015/08/27 Javascript
全面解析Bootstrap弹窗的实现方法
2015/12/01 Javascript
Js操作DOM元素及获取浏览器高宽的简单方法
2016/09/08 Javascript
js基础之DOM中元素对象的属性方法详解
2016/10/28 Javascript
用director.js实现前端路由使用实例
2017/01/27 Javascript
Node.js数据库操作之查询MySQL数据库(二)
2017/03/04 Javascript
js实现动态显示时间效果
2017/03/06 Javascript
深入理解requireJS-实现一个简单的模块加载器
2018/01/15 Javascript
vue自定义filters过滤器
2018/04/26 Javascript
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
jquery 验证用户名是否重复代码实例
2019/05/14 jQuery
json解析大全 双引号、键值对不在一起的情况
2019/12/06 Javascript
Vue多选列表组件深入详解
2021/03/02 Vue.js
Python创建系统目录的方法
2015/03/11 Python
python十进制和二进制的转换方法(含浮点数)
2018/07/07 Python
python批量图片处理简单示例
2019/08/06 Python
在Python中实现字典反转案例
2020/12/05 Python
使用CSS禁止textarea调整大小功能的方法
2015/03/13 HTML / CSS
html5 worker 实例(一) 为什么测试不到效果
2013/06/24 HTML / CSS
Origins悦木之源香港官网:雅诗兰黛集团高端植物护肤品牌
2018/03/21 全球购物
乌克兰排名第一的在线旅游超市:Farvater.Travel
2020/01/02 全球购物
机电一体化毕业生自荐信
2014/06/19 职场文书
2014年前台个人工作总结
2014/11/14 职场文书
简单的个人租房协议书范本
2014/11/26 职场文书
2014年后勤管理工作总结
2014/12/01 职场文书
成本会计岗位职责
2015/02/03 职场文书
2015年大班保育员工作总结
2015/05/18 职场文书
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers