Isotop:Wählen Sie oben die Klasse .xx aus und zeigen Sie sie an
-
13-12-2019 - |
Frage
Ich verwende die Sortiermethoden in Isotope (http://isotope.metafizzy.co/docs/sorting.html) und muss Elemente mit einem bestimmten CSS-Klassennamen, der ihnen zugewiesen ist, oben anzeigen, wenn auf einen Link geklickt wird.Die verbleibenden Elemente müssen unter den sortierten Elementen sichtbar bleiben, damit ich die Isotopenfilterung nicht verwenden kann.
Ich bin mit JS/jQuery nicht so vertraut, daher bin ich mir nicht einmal sicher, ob dieser Code überhaupt richtig dargestellt ist, aber derzeit werden meine Elemente nach Datum sortiert, was großartig ist, aber das gilt für alle Elemente.Ich möchte, dass mein Code alle Elemente mit dem Klassennamen „Blogs“ findet und dann nach Datum sortiert.Das ist mein Code bisher:
getSortData : {
blogs : function( $elem ) {
return $elem.attr('.blogs'), $elem.find('.date').text();
}
}
Lösung
Isotope führt eine normale Sortierung basierend auf dem zurückgegebenen Wert der von Ihnen bereitgestellten Funktion durch.
Sie müssen also etwas zurückgeben, das das bringt .blog
Elemente oben ..
Ich gehe davon aus, dass Sie nur das Datum verwendet haben $elem.find('.date').text()
Um dies zu ändern, können Sie am Anfang einfach ein Leerzeichen für Elemente hinzufügen, die vorhanden sind .blog
Versuchen
getSortData : {
blogs : function( $elem ) {
var isBlog = $elem.hasClass('blogs');
return (isBlog?' ':'') + $elem.find('.date').text();
}
}
Update für Kommentare
sortBy: 'initial',
sortAscending : false,
itemSelector: '.module',
getSortData: {
initial: function($elem) {
return $elem.find('.date').text();
},
blogs: function($elem) {
var isBlog = $elem.hasClass('blogs');
return (isBlog ? '9' : '') + $elem.find('.date').text();
},