2013-07-02 46 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>過濾列表你的代碼,你應該能夠得到它的工作沒有問題。但是,我已經列出了同位素中包含的內容,因爲它對我有用!讓我知道你是否有麻煩。