用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代码
Nov 23 Javascript
div模拟选择框示例代码
Nov 03 Javascript
jQuery经过一段时间自动隐藏指定元素的方法
Mar 17 Javascript
基于javascript html5实现多文件上传
Mar 03 Javascript
原生JS封装ajax 传json,str,excel文件上传提交表单(推荐)
Jun 21 Javascript
js时间比较 js计算时间差的简单实现方法
Aug 26 Javascript
jQuery图片切换动画特效
Nov 02 Javascript
学好js,这些js函数概念一定要知道【推荐】
Jan 19 Javascript
input获取焦点时底部菜单被顶上来问题的解决办法
Jan 24 Javascript
js字符串与Unicode编码互相转换
May 17 Javascript
JS 调试中常见的报错问题解决方法
May 20 Javascript
原生JS与JQ获取元素的区别详解
Feb 13 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学习之流程控制实现代码
2011/06/09 PHP
PHP性能优化准备篇图解PEAR安装
2011/12/05 PHP
PHP根据IP地址获取所在城市具体实现
2013/11/27 PHP
PHP数据库操作Helper类完整实例
2016/05/11 PHP
简单解析PHP程序的运行流程
2016/06/23 PHP
PHP实现的支付宝支付功能示例
2019/03/26 PHP
thinkPHP框架乐观锁和悲观锁实例分析
2019/10/30 PHP
javascript offsetX与layerX区别
2010/03/12 Javascript
js通过iframe加载外部网页的实现代码
2015/04/05 Javascript
JavaScript通过代码调用Flash显示的方法
2016/02/02 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
2016/02/04 Javascript
JS实现列表的响应式排版(推荐)
2016/09/01 Javascript
移动开发之自适应手机屏幕宽度
2016/11/23 Javascript
适用于手机端的jQuery图片滑块动画
2016/12/09 Javascript
微信小程序之绑定点击事件实例详解
2017/07/07 Javascript
webpack项目使用eslint建立代码规范实现
2019/05/16 Javascript
JS中实现一个下载进度条及播放进度条的代码
2019/06/10 Javascript
vue实现设置载入动画和初始化页面动画效果
2019/10/28 Javascript
Python内置的字符串处理函数详细整理(覆盖日常所用)
2014/08/19 Python
深入Python函数编程的一些特性
2015/04/13 Python
python字典的常用操作方法小结
2016/05/16 Python
python监控文件或目录变化
2016/06/07 Python
Python的网络编程库Gevent的安装及使用技巧
2016/06/24 Python
详解python中的文件与目录操作
2017/07/11 Python
用python编写第一个IDA插件的实例
2018/05/29 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
2019/06/21 Python
Python绘制频率分布直方图的示例
2019/07/08 Python
完美解决keras保存好的model不能成功加载问题
2020/06/11 Python
玩转CSS3色彩
2010/01/16 HTML / CSS
英国历史最悠久的DJ设备供应商:DJ Finance、DJ Warehouse、The DJ Shop
2019/09/04 全球购物
教师专业自荐书范文
2014/02/10 职场文书
党员公开承诺书范文
2014/03/25 职场文书
安全承诺书范文
2014/03/26 职场文书
青岛海底世界导游词
2015/02/11 职场文书
2015年端午节国旗下演讲稿
2015/03/19 职场文书
2016年学校党支部创先争优活动总结
2016/04/05 职场文书