我正在使用Ajaxify,它使用History.js。
单击项目链接时,内容会通过 ajax 滑入并更改 URL。单击关闭按钮时,面板滑出并更新 url。简单的。
但是,当我单击后退按钮而不是关闭按钮时,URL 会更新(可能由 History.js 正确触发),但面板不会滑出。这是由于有单独的代码控制滑入/滑出。
我想要做的是找出您是否可以检测到何时触发后退按钮?阅读我认为使用.statechange
可以工作的规范,但它会选择每个.statechange
,而不是具体的后退按钮。
需要注意的几件事 - 与 ajaxed 内容一起滑出的面板被调用.panel-slide'
,当它打开时它有类.opened
,当它关闭时.closed
。也许我们可以用它来帮助.statechange
?
这是我的面板幻灯片代码
$(document).ready(function() {
$('.panel-slide').addClass('closed');
var e = $(window).width();
$('.panel-slide.closed').css('margin-left', e + 'px');
$(window).resize(function() {
var e = $(window).width();
$('.panel-slide.closed').css('margin-left', e + 'px')
});
$('body').on('click', '.close-panel', function() {
$('.panel-slide').animate({marginLeft: e + 'px'}, 1e3, 'easeInOutCubic', function() {
History.back();
});
$('.panel-slide').attr('class', 'panel-slide closed');
$('ul li a').animate({
opacity: 1
}, 500, function() {});
});
$('ul li a').click(function() {
$('.panel-slide').attr('class', 'panel-slide opened');
$('ul li a').animate({
opacity: 0
}, 500, function() {});
});
});
我的整个修改后的 ajaxify 都在这里http://snippi.com/s/m0058ru