我正在为我的网站创建一个可过滤的投资组合。点击其中一个过滤器后,它会在我的网址末尾显示一个主题标签。例如,如果我点击设计,它将显示为www.yourdomain.com/#design。
是否可以使浏览器后退按钮与之一起工作?也就是说,如果我点击此链接,我会将#design添加到我当前的地址。单击后退按钮后,将删除#design哈希,并显示已选择的最后一页或过滤器。现在,后退按钮可以工作,但它只显示我在URL中选择但不在页面上的所有过滤器。
这有可能吗?
以下是我尝试使用http://www.jsfiddle.net/xnnnk/6/
的设计示例$(document).ready(function () {
$(".filter").click(function () {
var filterText = $(this).attr('href').replace('#', '');
$(".projectGrid").hide();
$(".projectHolder").show();
$(".projectHolder").not('.' + filterText).hide();
$(".projectGrid").fadeIn(1500);
$('.filter').not($(this).toggleClass('activeWork')).removeClass('activeWork');
});
});
谢谢
答案 0 :(得分:2)
您可以检测到哈希值更改,例如
$(window).on('hashchange', function() {
console.log('changed to:'+document.location.hash);
});
并采取相应行动,可能会调用您发布的过滤代码。
这似乎得到了广泛的支持, http://caniuse.com/#search=hash
我所描述的简单演示,