2010-05-11 62 views
0

看到:http://jasondaydesign.com/index2.html過濾jQuery的分裂列表

我使用easylistsplitter.js佈局投資組合項目。不幸的是,我的過濾器不適用於所有的項目。它僅過濾第一列。

想法?

謝謝!

+1

想法:也許指定你的問題多一點不會是一個壞主意;-) – Joscha 2010-05-11 11:41:44

+1

是的,像︰easylistsplitter.js應該做什麼,它做什麼,而不是,爲什麼是錯的,什麼是過濾器你使用,是否有代碼示例,你可以發佈,哪個'列'你的意思是... – thomaspaulb 2010-05-11 11:50:01

+0

jquery.easylistsplitter.js - http://pastebin.com/jpZknPLt filterable.js - http:// pastebin。 easylistsplitter將列表拆分成列 - 它很好。不幸的是,我無法按類別過濾列表項目。當我使用過濾器時,它只能在由easylistsplitter分割的列表的第一列上工作。我假設這是因爲它將列表分成多個列表,所以我不知道如何解決這個問題。 謝謝! – Jason 2010-05-11 12:32:36

回答

1

我不太明白你是如何試圖使用listsplitter與磚石插件一起...

磚石插件設置佈局和拆分佈局成你想要怎麼過多少列。如果您查看佈局頁面,砌體將佈局分爲4列:#primary.listCol1.listCol2,.listCol3.listCol4.last。因此,之後應用列表分割不起作用,因爲列表已被分割。

如果您嘗試對列表進行排序,您可以查看tinysort插件,或者如果您只是想要一個很好的短腳本,則需要對this answer中的一個稍作修改。


更新:我正在查看可篩選的腳本,但我找不到一個很好的簡單解決方案。但我確實發現this filterable tutorial這似乎更容易理解(對我來說)。我修改了它稍微使動畫與您的過濾腳本,這是結果:

$(document).ready(function() { 
    $('ul#portfolio-filter a').click(function() { 
    $(this).css('outline','none'); 
    $('ul#portfolio-filter .current').removeClass('current'); 
    $(this).parent().addClass('current'); 

    var filterVal = $(this).text().toLowerCase().replace(' ','-'); 

    if(filterVal == 'all') { 
     $('.portfolio li.hidden').animate({ width: 'show', opacity: 'show' }, 1000).removeClass('hidden'); 
    } else { 
     $('.portfolio li').each(function() { 
     if(!$(this).hasClass(filterVal)) { 
      $(this).animate({ width: 'hide', opacity: 'hide' }, 1000).addClass('hidden'); 
     } else { 
      $(this).animate({ width: 'show', opacity: 'show' }, 1000).removeClass('hidden'); 
     } 
     }); 
    } 
    return false; 
    }); 
}); 

你不應該改變任何東西,除了上述取代「jquery.filterablepack.js」內容碼。

+0

抱歉 - 不使用砌體進行佈局 - 使用easylist分隔符進行砌體樣式佈局。這種過濾效果使我可以切換。這是兩種不同的佈局(你幫我砌磚,我試圖確定哪個最好。 – Jason 2010-05-11 15:04:22

+0

好吧,我用我發現的一些可過濾代碼更新了我的答案,因爲我找不到你必須工作的代碼。 – Mottie 2010-05-12 05:18:07

+0

Fudgey - 你是一個非常豐富的知識,我非常感謝你的幫助,現在我必須弄清楚我更喜歡哪一種 - 帶切換的列表過濾器,或者沒有切換的石工過濾器...... – Jason 2010-05-12 12:55:15