用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 相关文章推荐
解决使用attachEvent函数时,this指向被绑定的元素的问题的方法
Aug 13 Javascript
Jquery 滑入滑出效果实现代码
Mar 27 Javascript
JavaScript 反科里化 this [译]
Sep 20 Javascript
jQuery性能优化28条建议你值得借鉴
Feb 16 Javascript
做web开发 先学JavaScript
Dec 12 Javascript
Jquery网页内滑动缓冲导航的实现代码
Apr 05 Javascript
深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
Dec 16 Javascript
使用typescript开发angular模块并发布npm包
Apr 19 Javascript
swiper 自动图片无限轮播实现代码
May 21 Javascript
vue组件间的参数传递实例详解
Apr 26 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
Jun 17 Javascript
详解 TypeScript 枚举类型
Nov 02 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实现斐波那契数列的简单写法
2014/07/19 PHP
基于PHP如何把汉字转化为拼音
2015/12/11 PHP
12款经典的白富美型—jquery图片轮播插件—前端开发必备
2013/01/08 Javascript
jquery延迟加载外部js实现代码
2013/01/11 Javascript
jquery根据锚点offset值实现动画切换
2014/09/11 Javascript
jQuery+ajax中getJSON() 用法实例
2014/12/22 Javascript
jQuery实现带延迟效果的滑动菜单代码
2015/09/02 Javascript
JS实现点击事件统计的简单实例
2016/07/10 Javascript
JavaScript动态添加css样式和script标签
2016/07/19 Javascript
javascript中的后退和刷新实现方法
2016/11/10 Javascript
bootstrap实现图片自动轮播
2016/12/21 Javascript
基于JavaScript实现窗口拖动效果
2017/01/18 Javascript
Angular实现响应式表单
2017/08/04 Javascript
Angular服务Request异步请求的实例讲解
2018/08/13 Javascript
微信小程序解析富文本过程详解
2019/07/13 Javascript
python将人民币转换大写的脚本代码
2013/02/10 Python
Python random模块(获取随机数)常用方法和使用例子
2014/05/13 Python
深入解析Python编程中JSON模块的使用
2015/10/15 Python
浅析AST抽象语法树及Python代码实现
2016/06/06 Python
基于sklearn实现Bagging算法(python)
2019/07/11 Python
将Python文件打包成.EXE可执行文件的方法
2019/08/11 Python
pytorch 模拟关系拟合——回归实例
2020/01/14 Python
PyTorch的torch.cat用法
2020/06/28 Python
新加坡最受追捧的体验平台:Hapz
2018/01/01 全球购物
*p++ 自增p 还是p所指向的变量
2016/07/16 面试题
武汉高蓝德国际.net机试
2016/06/24 面试题
网络维护中文求职信
2014/01/03 职场文书
心理学专业大学生职业生涯规划范文
2014/02/19 职场文书
南京青奥会口号
2014/06/12 职场文书
5s标语大全
2014/06/23 职场文书
毕业证代领委托书
2014/09/26 职场文书
2014五年级班主任工作总结
2014/12/05 职场文书
单身申明具结书
2015/02/26 职场文书
大学生求职简历自我评价
2015/03/02 职场文书
2015年结对帮扶工作总结
2015/05/04 职场文书
信用卡工作证明范本
2015/06/19 职场文书