0
var myClass;

jQuery(".option-set a").click(function() {
myClass = jQuery(this).attr("class");

jQuery("a.perma").each(function() {
    var _href = jQuery(this).attr("href"); 
    jQuery(this).attr("href", _href + "#filter=." + myClass);
});
});

我使用此代码将过滤器的类名附加到每个缩略图的永久链接的末尾

我现在遇到的问题是,每次点击时,类都会被分配到永久链接的末尾,所以如果我点击打印然后点击网页,那么摄影永久链接的 url 将显示为:/#filter=.print#filter= .web#filter=.photography 仍然有效,但是如果为了整洁只显示最后一个,那就太好了。

此外,一旦单击缩略图并加载下一页,我需要缩略图来维护所选过滤器的当前永久链接。任何想法,将不胜感激。我似乎无法弄清楚这一点。我真的很感激帮助!

4

2 回答 2

1

只调用一次,而不是每次点击...

jQuery(document).ready(function() {
    myClass = jQuery('.option-set a').attr("class");

    jQuery("a.perma").each(function() {
        var _href = jQuery(this).attr("href"); 
        jQuery(this).attr("href", _href + "#filter=." + myClass);
    });

    jQuery(".option-set a").click(function() {...});
});
于 2013-01-07T16:06:42.683 回答
0

此修改应检查当前类过滤器是否不存在。

jQuery("a.perma").each(function() {
  var _href = jQuery(this).attr("href"),
      newHref = _href.indexOf(myClass) === -1 ? _href + "#filter=." + myClass : _href;
    jQuery(this).attr("href", newHref);
  });
});

并且要在下一页加载时维护过滤后的缩略图 url,您需要使用服务器并解析它传递的参数,或者使用Web 存储来保存当前过滤后的路径并在文档加载时相应地设置缩略图 href。

于 2013-01-07T16:06:16.240 回答