Isotope:La sélection et l'affichage .xx classe au sommet
-
13-12-2019 - |
Question
Je suis en utilisant les méthodes de tri au sein de l'Isotope (http://isotope.metafizzy.co/docs/sorting.html) et avoir besoin d'afficher les éléments avec un nom de classe CSS qui leur est attribuée à haut lorsque le lien est cliqué.Les éléments restants doivent rester visibles sous les éléments triés je ne peux donc pas utiliser des Isotopes de filtrage.
Je ne suis pas très à l'aise avec JS/jQuery donc je ne suis même pas sûr si ce code est encore fixé correctement, mais actuellement mes éléments sont tri par date ce qui est excellent, mais ses de le faire pour tous les éléments.Je voudrais mon code pour trouver tous les éléments avec le nom de la classe des "blogs" puis organiser par date.C'est mon code pour l'instant:
getSortData : {
blogs : function( $elem ) {
return $elem.attr('.blogs'), $elem.find('.date').text();
}
}
La solution
Isotope ne normal de tri basé sur la valeur renvoyée par la fonction que vous fournissez.
Si vous avez besoin de retourner un article qui met l' .blog
les éléments en haut ..
Je pars du principe que pour que de la date que vous avez utilisé $elem.find('.date').text()
Donc, pour modifier cela, vous pouvez simplement ajouter un espace au début pour les éléments qui sont .blog
Essayez
getSortData : {
blogs : function( $elem ) {
var isBlog = $elem.hasClass('blogs');
return (isBlog?' ':'') + $elem.find('.date').text();
}
}
Mise à jour pour les commentaires
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();
},