我正在使用同位素,这里是jsfiddle:http://jsfiddle.net/desandro/DA3wF/
或者,我已经设置了一个演示:http://nerdi.net/isotope-test.html
有一个选项filter: selector
如何在页面加载时传递过滤器,例如index.html#green
,过滤到.green
类?这有可能吗?
答案 0 :(得分:3)
filter: (window.location.hash != '') ? '.' + window.location.hash.replace('#', '') : 'default'
这是一个if/then
语句,用于检查当前哈希值是否为空字符串。如果是,则filter
将设置为default
,否则将设置为window.location.hash
值(减去#
)。
这样的网址index.html
会导致filter
设置为default
,而这样的网址index.html#my-selector
会导致filter
被设置为.my-selector
。
您的代码无效的原因实际上与我的代码无关,但这是我在您的网站上测试的代码的更新版本:
$filterLinks.click(function(){
var $this = $(this);
// don't proceed if already selected
if ( $this.hasClass('selected') ) {
return;
}
$filterLinks.filter('.selected').removeClass('selected');
$this.addClass('selected');
// get selector from data-filter attribute
var selector = $this.data('option-value');
$container'.isotope({
filter: selector
});
});
答案 1 :(得分:1)
filter: window.location.hash.replace('#', '.')
location.hash将返回“#green”,我们只需用点替换它即可获得“.green”。
jsfiddle以及如何根据哈希值更改所选链接的示例。