我目前有jQuery同位素插件和hashchange函数的一些问题。我有一个div的网格和页面加载只有grid-block-filter
divs显示,点击其中一个.grid-block-filter
divs带来相关的内容,附加一个散列到网址,以便用户可以从其他地方导航到它,这一切工作正常,这里是我的榜样,虽然我会解释我的问题:
的jsfiddle(与哈希):http://jsfiddle.net/neal_fletcher/vcffM/9/show
jQuery的:如果你点击ONE FILTER
例如jQuery:同位素hashchange,过滤器和后退按钮
$(document).ready(function() {
var $container = $('#main-grid');
if (location.hash != "") {
var hashfilter = "." + location.hash.substr(1);
} else {
var hashfilter = "*";
}
$container.imagesLoaded(function() {
$container.isotope({
filter: hashfilter + '.nav-block',
itemSelector: '.grid-block',
animationEngine: 'best-available',
masonry: {
columnWidth: 4
}
});
});
$('.grid-block-filter a').click(function() {
var selector = jQuery(this).attr('data-filter');
var prettyselector = selector.substr(1);
location.hash = prettyselector;
return false;
});
$(window).hashchange(function() {
if (location.hash != "") {
var hashfilter = "." + location.hash.substr(1);
} else {
var hashfilter = "*";
}
$container.imagesLoaded(function() {
$container.isotope({
filter: hashfilter,
itemSelector: '.grid-block',
animationEngine: 'best-available',
masonry: {
columnWidth: 4
}
});
});
});
});
,由此带来的相关内容就好了,但随后点击后退按钮会返回所有内容,而不是像显示页面lo时一样显示grid-block-filter
广告。无论如何要阻止这种情况发生?我无法弄清楚。任何建议将不胜感激!
这似乎并没有按照我想要的方式工作,这种方法可以在点击后退按钮和加载前一页时起作用,但是因为我使用的是hashchange函数,页面并不在重新加载,它似乎是我thod不起作用。我也尝试过卸载窗口,但又一次遇到同样的问题,因为我实际上并没有从页面中导航出去? – user1374796
这在Chrome中不适用于我(在我的用例中没有hashtags)。将Isotope脚本移动到Isotope div下面也没有解决。 – Deborah