实现“后退按钮”关于 jquery ajax 调用
我正在尝试在这个完整的ajax网站上实现后退按钮。我尝试了jquery历史记录插件,但我确信我弄乱了一些东西,因为散列看起来不错,但后退按钮不会加载原始内容。
这是我的菜单是什么样的:
<div id="nav" class="ajaxload menu">
<ul>
<li><a href="home.aspx">Home</a></li>
<li><a href="about.aspx">About Us</a></li>
<li><a href="contact.aspx">Contact</a></li>
</ul>
</div>
ajax 调用:
$(function() {
var $content = $('#content');
$('.ajaxload li a').click(function() {
$content.html('<div id="loader"></div>');
var url = $(this).attr('href');
$.get(url, function(data) {
$content.hide().html(data).fadeIn("slow", function() { $("#loader").fadeOut("fast") });
});
return false;
});
});
I'm trying to implement back button on this full ajax website.. I tried jquery history plugin but I'm sure I messed something, as the hash appears OK but the back button won't load the original content back..
This is what my menu looks like:
<div id="nav" class="ajaxload menu">
<ul>
<li><a href="home.aspx">Home</a></li>
<li><a href="about.aspx">About Us</a></li>
<li><a href="contact.aspx">Contact</a></li>
</ul>
</div>
And the ajax calls:
$(function() {
var $content = $('#content');
$('.ajaxload li a').click(function() {
$content.html('<div id="loader"></div>');
var url = $(this).attr('href');
$.get(url, function(data) {
$content.hide().html(data).fadeIn("slow", function() { $("#loader").fadeOut("fast") });
});
return false;
});
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我猜当您使用历史记录插件时,您可能没有初始化它。初始化它时,您向它传递一个处理哈希更改的回调,以便您可以再次加载内容。因此,例如,您不必做这样的事情:
您必须做这样的事情:
I'm guessing that when you were using the history plugin you may not have initialized it. When you initialize it, you pass it a callback that handles the hash changes so you can load the content again. So, for example, rather than doing something like this:
You'd have to do something like this: