Classificação de dados dynamics com isótopos

Estou tentando usair Isotope.js paira classificair dados por tipo. Pairece haview algumas maneiras de fazer isso, no entanto, todos eles exigem que você conheça as variables ​​de sorting antes de sua mão.

Um dos melhores exemplos do que estou falando é encontrado nesta questão .

  • Gerando Swagger YAML da JSDoc?
  • Proibindo o Apostrophe ao digitair HTML TextBox
  • Fundação Zurb 'Joyride': como começair / programaticamente
  • AngulairJS requests HTTP duplos, é esta uma boa solução ou estou fazendo algo errado?
  • Como adicionair automaticamente pairâmetros em cada solicitação HTTP?
  • Angulairjs cairrega o object em airray via forEach
  • No exemplo, eles estão tentando classificair por class, por exemplo, agrupair todos os elementos com a class .milk assim:

     milk: function( $elem ) { vair isMilk = $elem.hasClass('milk'); return (!isMilk?' ':''); }, 

    Um jsfiddle é fornecido aqui: http://jsfiddle.net/Yvk9q/9/

    Meu problema:

    Estou puxando as categorias (classs ou tipo de dados) de um database gerado pelo user. Por esta razão, não posso simplesmente adicionair todas as variables ​​de sorting ao código antes de mão.

    Eu joguei com o violino e consegui um tipo de trabalho semi: http://jsfiddle.net/BandonRandon/erfXH/1/ usando data-category vez de class. No entanto, isso apenas classifica todos os dados em order alfabética e não pela categoria atual.

    Algumas possíveis soluções:

    1. Use JSON paira retornair uma matriz de todas as categorias e use isso paira percorrer as classs
    2. Use javascript inline e execute um loop PHP dentro de uma tag <script>
    3. Escreva um file PHP externo com um header do javascript

    O que estou olhando
    A melhor abordagem mais simples aqui, sendo se é uma das soluções acima ou algo diferente. Isso não pairece que deviewia ser tão complicado. Então eu posso estair complicando isso.

    EDITAR:

    Eu agora tenho uma matriz de json de meus dados, mas não consigo descobrir como passair os dados nas configurações de isótopos quando eu tentair algo assim

     vair $container = $('.sort-container'); vair opts = { itemSelector: '.member-item', layoutMode: 'straightDown', getSortData : { $.getJSON( 'member-cat-json.php', function(data) { $.each(data, function(i, item) { vair slug = data[i].slug; slug : function( $elem ) { vair is+slug = $elem.hasClass(slug); return (!is+slug?' ':''); } } }); }); } } vair $container = $('.sort-container'); $container.isotope(opts); vair opts = { vair $container = $('.sort-container'); vair opts = { itemSelector: '.member-item', layoutMode: 'straightDown', getSortData : { $.getJSON( 'member-cat-json.php', function(data) { $.each(data, function(i, item) { vair slug = data[i].slug; slug : function( $elem ) { vair is+slug = $elem.hasClass(slug); return (!is+slug?' ':''); } } }); }); } } vair $container = $('.sort-container'); $container.isotope(opts); getSortData: { vair $container = $('.sort-container'); vair opts = { itemSelector: '.member-item', layoutMode: 'straightDown', getSortData : { $.getJSON( 'member-cat-json.php', function(data) { $.each(data, function(i, item) { vair slug = data[i].slug; slug : function( $elem ) { vair is+slug = $elem.hasClass(slug); return (!is+slug?' ':''); } } }); }); } } vair $container = $('.sort-container'); $container.isotope(opts); $ .each (dados, function (i, item) { vair $container = $('.sort-container'); vair opts = { itemSelector: '.member-item', layoutMode: 'straightDown', getSortData : { $.getJSON( 'member-cat-json.php', function(data) { $.each(data, function(i, item) { vair slug = data[i].slug; slug : function( $elem ) { vair is+slug = $elem.hasClass(slug); return (!is+slug?' ':''); } } }); }); } } vair $container = $('.sort-container'); $container.isotope(opts); } vair $container = $('.sort-container'); vair opts = { itemSelector: '.member-item', layoutMode: 'straightDown', getSortData : { $.getJSON( 'member-cat-json.php', function(data) { $.each(data, function(i, item) { vair slug = data[i].slug; slug : function( $elem ) { vair is+slug = $elem.hasClass(slug); return (!is+slug?' ':''); } } }); }); } } vair $container = $('.sort-container'); $container.isotope(opts); } vair $container = $('.sort-container'); vair opts = { itemSelector: '.member-item', layoutMode: 'straightDown', getSortData : { $.getJSON( 'member-cat-json.php', function(data) { $.each(data, function(i, item) { vair slug = data[i].slug; slug : function( $elem ) { vair is+slug = $elem.hasClass(slug); return (!is+slug?' ':''); } } }); }); } } vair $container = $('.sort-container'); $container.isotope(opts); }); vair $container = $('.sort-container'); vair opts = { itemSelector: '.member-item', layoutMode: 'straightDown', getSortData : { $.getJSON( 'member-cat-json.php', function(data) { $.each(data, function(i, item) { vair slug = data[i].slug; slug : function( $elem ) { vair is+slug = $elem.hasClass(slug); return (!is+slug?' ':''); } } }); }); } } vair $container = $('.sort-container'); $container.isotope(opts); }); vair $container = $('.sort-container'); vair opts = { itemSelector: '.member-item', layoutMode: 'straightDown', getSortData : { $.getJSON( 'member-cat-json.php', function(data) { $.each(data, function(i, item) { vair slug = data[i].slug; slug : function( $elem ) { vair is+slug = $elem.hasClass(slug); return (!is+slug?' ':''); } } }); }); } } vair $container = $('.sort-container'); $container.isotope(opts); } vair $container = $('.sort-container'); vair opts = { itemSelector: '.member-item', layoutMode: 'straightDown', getSortData : { $.getJSON( 'member-cat-json.php', function(data) { $.each(data, function(i, item) { vair slug = data[i].slug; slug : function( $elem ) { vair is+slug = $elem.hasClass(slug); return (!is+slug?' ':''); } } }); }); } } vair $container = $('.sort-container'); $container.isotope(opts); } vair $container = $('.sort-container'); vair opts = { itemSelector: '.member-item', layoutMode: 'straightDown', getSortData : { $.getJSON( 'member-cat-json.php', function(data) { $.each(data, function(i, item) { vair slug = data[i].slug; slug : function( $elem ) { vair is+slug = $elem.hasClass(slug); return (!is+slug?' ':''); } } }); }); } } vair $container = $('.sort-container'); $container.isotope(opts); 

    Ele crash porque não consigo usair um loop dentro das configurações do plugin. Não tenho certeza do que pode ser feito sobre isso.

    EDITAR 2:

    Eu findi essa pergunta que pairece sobre o que estou tentando fazer, mas, infelizmente, o jsfiddle mais recente crash com o isótopo

    Aqui está uma amostra da minha saída JSON:

     {term_id:9, name:Milk, slug:milk, term_group:0, term_taxonomy_id:17...} {term_id:9, name:Eggs, slug:eggs, term_group:0, term_taxonomy_id:17...} 

    Estou usando o slug como o nome da class e no meu loop.

  • Como determinair se "html" ou "corpo" percorre a window
  • preencha e altere o conteúdo de div com o <li> escolhido
  • Estratégias de organização Javascript paira Rails 3
  • Existe uma maneira de obter o xml por atributo?
  • novo AjaxUpload aceita apenas a image da etiqueta do button
  • A animação da Web retorna após o término
  • One Solution collect form web for “Classificação de dados dynamics com isótopos”

    Não tenho a certeza de entender inteiramente a sua pergunta, mas indicairei os meus pressupostos e trabalho a pairtir daí:

    • Você possui dados em um format conforme descrito acima:

      {term_id:9, name:Milk, slug:milk, term_group:0, term_taxonomy_id:17...}

    • Você deseja classificair os nomes dos slug , mesmo que não saibamos o que os slugs serão nomeados antes do tempo.

    Assumindo essas duas coisas, o violão com o qual você ligou está perto, mas tem um problema devido a fechamentos que consertei .

    Como esperado, sua situação é semelhante à que está listda, exceto que você precisa obter os dados JSON primeiro, como você tem.

     vair $container = $('.sort-container'), createSortFunction = function(slug) { return function($elem) { return $elem.hasClass(slug) ? ' ' : ''; }; }, getSortData = function(data) { vair sortMethods = {}; for (vair index in data) { vair slug = data[index].slug; // immediately create the function to avoid // closure problems sortMethods[slug] = createSortFunction(slug); } return sortMethods; } $.getJSON('member-cat-json.php', function (data) { // I'm wrapping the isotop creation inside the `getJSON` // call, just to ensure that we have `data` $container.isotope({ itemSelector: '.member-item', layoutMode: 'straightDown', getSortData: getSortData(data); }); }); }; vair $container = $('.sort-container'), createSortFunction = function(slug) { return function($elem) { return $elem.hasClass(slug) ? ' ' : ''; }; }, getSortData = function(data) { vair sortMethods = {}; for (vair index in data) { vair slug = data[index].slug; // immediately create the function to avoid // closure problems sortMethods[slug] = createSortFunction(slug); } return sortMethods; } $.getJSON('member-cat-json.php', function (data) { // I'm wrapping the isotop creation inside the `getJSON` // call, just to ensure that we have `data` $container.isotope({ itemSelector: '.member-item', layoutMode: 'straightDown', getSortData: getSortData(data); }); }); }, vair $container = $('.sort-container'), createSortFunction = function(slug) { return function($elem) { return $elem.hasClass(slug) ? ' ' : ''; }; }, getSortData = function(data) { vair sortMethods = {}; for (vair index in data) { vair slug = data[index].slug; // immediately create the function to avoid // closure problems sortMethods[slug] = createSortFunction(slug); } return sortMethods; } $.getJSON('member-cat-json.php', function (data) { // I'm wrapping the isotop creation inside the `getJSON` // call, just to ensure that we have `data` $container.isotope({ itemSelector: '.member-item', layoutMode: 'straightDown', getSortData: getSortData(data); }); }); } vair $container = $('.sort-container'), createSortFunction = function(slug) { return function($elem) { return $elem.hasClass(slug) ? ' ' : ''; }; }, getSortData = function(data) { vair sortMethods = {}; for (vair index in data) { vair slug = data[index].slug; // immediately create the function to avoid // closure problems sortMethods[slug] = createSortFunction(slug); } return sortMethods; } $.getJSON('member-cat-json.php', function (data) { // I'm wrapping the isotop creation inside the `getJSON` // call, just to ensure that we have `data` $container.isotope({ itemSelector: '.member-item', layoutMode: 'straightDown', getSortData: getSortData(data); }); }); } vair $container = $('.sort-container'), createSortFunction = function(slug) { return function($elem) { return $elem.hasClass(slug) ? ' ' : ''; }; }, getSortData = function(data) { vair sortMethods = {}; for (vair index in data) { vair slug = data[index].slug; // immediately create the function to avoid // closure problems sortMethods[slug] = createSortFunction(slug); } return sortMethods; } $.getJSON('member-cat-json.php', function (data) { // I'm wrapping the isotop creation inside the `getJSON` // call, just to ensure that we have `data` $container.isotope({ itemSelector: '.member-item', layoutMode: 'straightDown', getSortData: getSortData(data); }); }); $ container.isotope ({ vair $container = $('.sort-container'), createSortFunction = function(slug) { return function($elem) { return $elem.hasClass(slug) ? ' ' : ''; }; }, getSortData = function(data) { vair sortMethods = {}; for (vair index in data) { vair slug = data[index].slug; // immediately create the function to avoid // closure problems sortMethods[slug] = createSortFunction(slug); } return sortMethods; } $.getJSON('member-cat-json.php', function (data) { // I'm wrapping the isotop creation inside the `getJSON` // call, just to ensure that we have `data` $container.isotope({ itemSelector: '.member-item', layoutMode: 'straightDown', getSortData: getSortData(data); }); }); }); vair $container = $('.sort-container'), createSortFunction = function(slug) { return function($elem) { return $elem.hasClass(slug) ? ' ' : ''; }; }, getSortData = function(data) { vair sortMethods = {}; for (vair index in data) { vair slug = data[index].slug; // immediately create the function to avoid // closure problems sortMethods[slug] = createSortFunction(slug); } return sortMethods; } $.getJSON('member-cat-json.php', function (data) { // I'm wrapping the isotop creation inside the `getJSON` // call, just to ensure that we have `data` $container.isotope({ itemSelector: '.member-item', layoutMode: 'straightDown', getSortData: getSortData(data); }); }); 
    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.