zoukankan      html  css  js  c++  java
  • Javascript实现前端简单路由

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="keywords" content="javascript" />
    <meta name="description" content="Helloweba演示平台,演示XHTML、CSS、jquery、PHP案例和示例" />
    <title>演示:Javascript实现前端简单路由</title>
    <link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css">
    <style>
    .text-right li{padding: 10px}
    #result{height: 200px; line-height: 200px; font-size: 2rem; text-align: center; color:#fff;}
    </style>
    </head>
    <body>
    <div class="container">
    
        <div class="row main" style="min-height:500px">
            <div class="col-md-12">
                <div class="row" style="margin-top:30px">
                    <div class="col-md-3">
                        <ul class="text-right"> 
                            <li><a href="#/">首页</a></li> 
                            <li><a href="#/product">产品</a></li> 
                            <li><a href="#/server">服务</a></li> 
                        </ul>
                    </div>
                    <div class="col-md-7">
                        <div id="result"></div>
                    </div>
                </div>
            </div>
        </div>
    
    </div>
    <script type="text/javascript">
    function Router(){
        this.routes = {};
        this.curUrl = '';
    
        this.route = function(path, callback){
            this.routes[path] = callback || function(){};
        };
    
        this.refresh = function(){
            this.curUrl = location.hash.slice(1) || '/';
            this.routes[this.curUrl]();
        };
    
        this.init = function(){
            window.addEventListener('load', this.refresh.bind(this), false);
            window.addEventListener('hashchange', this.refresh.bind(this), false);
        }
    
    }
    
    var R = new Router();
    R.init();
    var res = document.getElementById('result');
    
     R.route('/', function() {
         res.style.background = 'blue';
         res.innerHTML = '这是首页';
     });
     R.route('/product', function() {
        res.style.background = 'orange';
         res.innerHTML = '这是产品页';
     });
     R.route('/server', function() {
        res.style.background = 'black';
         res.innerHTML = '这是服务页';
     });
    </script>
    </body>
    </html>
  • 相关阅读:
    教你取得计算机的所有权(可删除和打开或复制系统文件)
    为什么人口红利不能解决中国危机?
    开发者需要知道的11条HTML5小常识
    高性能CSS(四)
    8个应该去逛逛JQuery的学习网站
    用PHP调用证件识别接口识别本地图片
    Android开发有用的三方网站
    手机话费充值和手机流量充值 API
    Android开发之短信验证码示例
    微信小程序(应用号)开发新闻客户端的实战课程
  • 原文地址:https://www.cnblogs.com/kangshuai/p/5899894.html
Copyright © 2011-2022 走看看