Wenn einer von euch gute Leute ein Auge darüber werfen könnte und lassen Sie mich wissen, der Fehler meiner Wege, das wäre fab, Prost!Isotop Filter nach Checkbox Zustand
Ich benutze Isotop um Gegenstände zu filtern. Jeder Artikel hat die Option für Benutzer, sie zu "favorisieren".
Ich kann erfolgreich ein Kontrollkästchen umschalten und den aktuellen Status auf localStorage speichern, aber was ich gerne tun könnte ist eine der Filter-Schaltflächen arbeiten, so dass es (über Isotop) alle Elemente gefiltert hat, die wurden ".
Hier sind die Filter-Tasten, die alle gut funktionieren, außer für die "Favoriten".
HTML
<div id="filters" class="button-group">
<button class="button uppercase is-checked" data-filter="*">All</button>
<button class="button uppercase" data-filter=".amber">AMBER</button>
<button class="button uppercase" data-filter=".dark">DARK</button>
<button class="button uppercase" data-filter=".golden">GOLDEN</button>
<button class="button uppercase" data-filter=".ruby">RUBY</button>
<button class="button uppercase" id="checkbox" data-filter=".checkbox">FAVOURITES</button>
</div>
Und hier ist das Skript, das ich versuche, Arbeit zu machen.
JS
function customCheckbox(){
var checkBox = $('.checkbox');
//on load select if necessary
checkBox.each(function(){
var id=$(this).data('id');
if(localStorage.getItem(id)==1){
$(this).addClass("selected");
}
});
//on click toggle selected and save in localstorage
checkBox.click(function(){
var id=$(this).data('id');
$(this).toggleClass("selected");
if($(this).hasClass("selected")){
localStorage.setItem(id,1);
}else{
localStorage.removeItem(id);
}
});
}
$(document).ready(function(){
//start checkboxes here
customCheckbox();
//filter button
var $grid = $('#grid');
$grid.isotope({
itemSelector: '.element-item',
layoutMode: 'fitRows',
transitionDuration: '0.6s'
});
$('#filters').on('click', 'button', function() {
$('.checkbox:not(.selected)').parent().show();
$grid.isotope(); //show all not starred blocks
});
$('#checkbox').on('click', 'button', function(){
$('.checkbox:not(.selected)').parent().hide();
$grid.isotope(); //hide all not starred blocks
});
Wenn jemand auf irgendein Licht werfen kann, wo ich falsch werde, würde es enorm geschätzt werden! Vielen Dank im Voraus für jede Hilfe oder Beratung.
UPDATE: Ich habe jetzt eine jsfiddle erstellt. Ich bin neu in jsfiddle; Schreie also, wenn ich es falsch gemacht habe.
https://jsfiddle.net/Frannie/rtkpws48/55/
Aus irgendeinem Grund, den ich nicht die (bisher erfolgreich) scheinen zu bekommen local Zustand des Favoriten Checkbox wechseln richtig in der Geige zu arbeiten. Keine Ahnung, wo ich in die Irre gegangen bin ???
Wie auch immer, wenn jemand irgendwelche Hinweise hat, wie man etwas davon zur Arbeit bringt, wäre das brilliant!
Könnten Sie bitte die HTML voll schreiben (mit Klassennamen Checkbox) oder in jsfiddle oder codepen –
Wird tun, Tamil ... zwei Sekunden ... –
Okay, es tut mir so leid für die langen Verzögerung in der Antwort. Ich habe das Spiel vorher noch nicht benutzt; Es hat also ein wenig gedauert, es einzurichten. https://jsfiddle.net/Frannie/rtkpws48/55/ Wenn ich etwas nicht richtig kennen mich :) wieder tun vorgestellt haben, lassen Sie, Dank im Voraus für jede Hilfe! –