0.1.0 • Published 9 years ago
xxxrouter v0.1.0
xrouter
simple router
var xrouter = (function(){
var _routers = {};
var on = function(k, v){
if(!v) return _routers.k;
_routers[k] = v;
return this;
}
var _action = function(key){
var _key = location[key].substr(1).split('?')[0] || 'index';
_routers[_key] && _routers[_key].call(null);
}
return {
on: on,
init: function(){
window.addEventListener('hashchange', function(e){
_action('hash')
})
_action('hash')
},
xinit: function(){
_action('search')
}
}
})()
// 单页面模式 使用init初始化 使用location.hash 比如http://xxx.com#page1
// 多页面模式 使用xinit初始化 使用locaton.search 比如http://xxx.com?page1
单页面 init demo
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<style>
.page{
display: none;
}
</style>
</head>
<body>
<div id="app">
<ul>
<li><a href="#page1">page1</a></li>
<li><a href="#page2">page2</a></li>
<li><a href="#page3">page3</a></li>
<li><a href="#page4">page4</a></li>
</ul>
<h1 id="page1" class="page">this is page1!</h1>
<h1 id="page2" class="page">this is page2!</h1>
<h1 id="page3" class="page">this is page3!</h1>
<h1 id="page4" class="page">this is page4!</h1>
</div>
<script type="text/javascript" src="http://cdn.bootcss.com/zepto/1.0rc1/zepto.min.js"></script>
<script src="index.js"></script>
<script>
xrouter.on('page1', function(){
$('.page').hide()
$('#page1').show();
}).on('page2', function(){
$('.page').hide()
$('#page2').show();
}).on('page3', function(){
$('.page').hide()
$('#page3').show();
}).on('page4', function(){
$('.page').hide()
$('#page4').show();
}).init();
</script>
</body>
</html>
多页面 xinit demo
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<style>
.page{
display: none;
}
</style>
</head>
<body>
<div id="app">
<ul>
<li><a href="?page1">page1</a></li>
<li><a href="?page2">page2</a></li>
<li><a href="?page3">page3</a></li>
<li><a href="?page4">page4</a></li>
</ul>
<h1 id="page1" class="page">this is page1!</h1>
<h1 id="page2" class="page">this is page2!</h1>
<h1 id="page3" class="page">this is page3!</h1>
<h1 id="page4" class="page">this is page4!</h1>
</div>
<script type="text/javascript" src="http://cdn.bootcss.com/zepto/1.0rc1/zepto.min.js"></script>
<script src="index.js"></script>
<script>
xrouter.on('page1', function(){
$('.page').hide()
$('#page1').show();
}).on('page2', function(){
$('.page').hide()
$('#page2').show();
}).on('page3', function(){
$('.page').hide()
$('#page3').show();
}).on('page4', function(){
$('.page').hide()
$('#page4').show();
}).xinit();
</script>
</body>
</html>
0.1.0
9 years ago