如何使用#创建动态页面
How to create dynamic pages using # ?
我注意到像Twitter和其他一些网站这样的很多页面都在设计中加入了AJAX。引起我注意的一件事是#!在url。我想知道我如何能为自己或他们正在使用的方法做到这一点,谢谢!
你可以从一些非常简单的东西开始,使用Hashchange或BBQ插件。阅读这两种产品的说明书,你就会明白了。
这里是一个简短而一般的介绍:http://code.google.com/intl/en-EN/web/ajaxcrawling/docs/html-snapshot.html
更新:
好,让我们以Hashchange插件为例。下面的代码非常原始,但我认为它将有助于理解
的基本部分HTML:<ul>
<li><a href="/about">About</a></li>
<li><a href="/contact">Contact Us</a></li>
<li><a href="/links">Links</a></li>
</ul>
<div id="page"></div>
JS:
$(function(){
/*
* We override the default
* behaviour of our links
* and change the hash of the URL,
* e.g. '/contact' -> '#contact',
* so the address bar of the browser
* would change to
* 'http://example.com#contact'
*/
$('ul').find('a').click(function() {
var hash = $(this).attr('href').replace('#', '');
window.location.hash = hash;
return false;
});
/*
* The main hashchange logic
*
* We use jQuery.load to retrieve
* a specific part of the loaded document,
* #page here
*/
$(window).hashchange(function() {
var newLoc = window.location.hash.replace('#', '');
$('#page').load('/' + newLoc + ' #page');
});
$(window).hashchange();
});
相关文章:
- onkeyup无法动态创建多个文本区域
- 如何使用javascript从主svg对象动态创建svg视图框
- 在动态创建的元素上获取对特定选择器的引用
- JQuery对动态创建的对象进行选择
- 使用jquery动态创建ul-li
- 从动态创建的html选择中选择所选选项
- 如何在动态创建的节点上绑定函数
- 动态创建OnClick事件Javascript
- 谷歌地图动态创建的标记点击事件使用相同的标记
- 在动态创建的标记上添加事件
- 动态创建一个javascript/jquery多级数组
- 如何动态创建许多Jquery颜色选择器(eyecon)
- 如何为动态创建的文本区域中输入的值更新ng模型
- 对动态创建的元素运行jQuery.ech()
- 使用jQuery访问动态创建的项
- 动态创建的iframe中的window.onerror在lne 0处给出脚本错误
- 当用户点击动态创建的链接时,如何调用JS方法.JQuery,ASP.NET MVC
- 我想将链接关联到动态创建的p元素上的相应文章
- AngularJs从列表中动态创建指令
- 使用javascript动态创建html内容/元素