使用Hash或GET参数初始化jQuery过滤器

时间:2014-05-31 20:13:42

标签: javascript jquery

更新
由于我原来的问题(下面)的活动很少,我简单地说它是这样的:
如何使用Hash或GET参数从其他网址初始化MIXITUP jQuery filter


====

我正在使用MIXITUP jQuery filter在一个页面上排序多个元素。有没有办法在其中一个文件管理器已经处于活动状态的情况下从另一个页面建立链接?
想法是为每个category和一个main链接创建一个链接。类别链接会将访问者置于第二页,并且已激活selected category过滤器。如果访问者选择main链接,他将登陆all categories可见的页面。 例如,假设我销售电缆并希望在indexstore之间启用HDMI激活的链接,以便在跳转时访问者登陆{{1} }页面只能看到store电缆,当然可以选择其他过滤器以查看其他产品。
请询问您是否需要更多信息,示例代码或其他任何内容。 />
提前致谢

1 个答案:

答案 0 :(得分:7)

您可以指定使用load.filter setting加载页面时生效的过滤器,如下所示:

$('#container').mixItUp({
  load: {
    filter: 'your filter'
  }
});

没有什么能阻止您从document.location.hash property获取此设置的值。您可以检查哈希值是否为空,如果不是,请将其值用作过滤器:

$('#container').mixItUp({
  load: {
    filter: document.location.hash == '' ? 'all' :
      ('.' + document.location.hash.substring(1))
  }
});

hash.substring(1)是必需的,因为该字符串会包含#字符本身,并且我会在开头添加.,因为我认为您可能希望始终过滤按类别,不需要在URL中包含点。

CodePen上的演示: