2013-07-02 38 views
0

拼命尝试与烧烤哈希设置同位素和失败。已经花了时间与演示:http://isotope.metafizzy.co/tests/combo-sort-history.html仍然没有得到它。同位素过滤烧烤哈希

我的下面的代码目前正在过滤我的项目...只是无法获得散列设置。我需要这个,所以我可以直接链接到我的一个过滤器链接。任何帮助都会很棒。遇到问题将其集成到了什么我已经所以请记住这一点......

<script> 
    var $container = $('.container'); 
    $(window).load(function() { 
     $('.container').isotope({ 
      itemSelector : '.item', 
      isFitWidth: true, 
      // sortBy : 'random', 
     }); 

     $('.filter a').click(function(){ 
      var selector = $(this).attr('data-filter'); 
      $container.isotope({ filter: selector }); 
      return false; 
     }); 


    }); 

     $(window).load() 
    </script> 

回答

0

我显然不能链接到同位素烧烤场,但如果你去同位素站点并选择哈希与历史Jquery BBQ,你可以看到我在下面发布的内容。

几天前我试图安装这个软件时,我能够很快地完成它的工作。 当然,第一步是包含BBQ Hash jQuery。

  1. 我改变了URL来更好地表示HASH请求。用相反的:

    <a href="#" data-filter=".television">

    我用:

    <a href="#filter=.television">

    对于搞清楚fitler类型的帮助下,你可以使用打印或登录$.param({ filter: ':not(.transition)' })来告诉你它应该是什么样子。

  2. 然后我将它包含在jQuery中。这部分将取代您的代码中的点击功能。

    $('.filter a').click(function(){ 
        // get href attr, remove leading # 
        var href = $(this).attr('href').replace(/^#/, ''), 
        // convert href into object 
        // i.e. 'filter=.inner-transition' -> { filter: '.inner-transition' } 
        option = $.deparam(href, true); 
        // set hash, triggers hashchange on window 
        $.bbq.pushState(option); 
        return false; 
    }); 
    
  3. 最后,这段代码是新的过滤器。我会把它放在window.load函数中,在函数内部的所有内容。首先你要设置你的选择。

    $(window).bind('hashchange', function(event){ 
        // get options object from hash 
    var hashOptions = $.deparam.fragment(); 
        // apply options from hash 
    $container.isotope(hashOptions); 
    }) 
        // trigger hashchange to capture any hash data on init 
    .trigger('hashchange'); 
    

通过替换上面我在这里列出,并改变你的<a>过滤列表你的代码,你应该能够得到它的工作没有问题。但是,我已经列出了同位素中包含的内容,因为它对我有用!让我知道你是否有麻烦。