如果你们中的任何一个好人都能够注意到这一点,并让我知道我的方式错误,那将是晶圆厂,欢呼!根据复选框状态的同位素过滤器
我正在使用同位素过滤项目。每个项目都有让用户“喜欢”它们的选项。
我可以成功地切换复选框并将其当前状态保存到localStorage,但我希望能够做的是让其中一个过滤器按钮工作,以便过滤(通过同位素)任何已经被“收藏” ”。
这里是过滤器按钮,除了'收藏夹',它们都可以正常工作。
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>
而这里的,我试图使工作的脚本。
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
});
如果任何人都可以阐明我要去哪里不对任何光线,它会非常感激!非常感谢您提供任何帮助或建议。
更新:我现在创建了一个jsfiddle。我是jsfiddle的新手;所以如果我做错了,大喊大叫。
https://jsfiddle.net/Frannie/rtkpws48/55/
出于某种原因,我似乎无法得到(之前成功)的localStorage切换喜欢的复选框的状态在拨弄正常工作。不知道我走错了哪里?
无论如何,如果任何人有任何线索,如何得到它的任何工作,这将是辉煌!
能否请您充分张贴HTML(与类名复选框),或在的jsfiddle或codepen –
会不会,泰米尔... 2秒... –
好吧,我很抱歉冗长延迟回复。我以前没有用过jsfiddle;所以花了一点时间来设置它。 https://jsfiddle.net/Frannie/rtkpws48/55/ 如果我没有提出任何事情做正确,请让我知道:) 同样,在此先感谢您的帮助! –