如何实现复选框或面向类别的照片库

How to achieve a check box or category oriented photo gallery

本文关键字:照片库 复选框 何实现 实现      更新时间:2024-04-03

我不确定这个问题的最佳表达方式,因此谷歌让我悬而不决。

从本质上讲,我想创建一个有(例如)30张图片的照片库,在这30张图片中,有3个不同的类别。

我希望用户能够单击复选框来显示或隐藏不同的类别(以及随后的图片)或查看所有类别。

例如,照片库左侧会有4个复选框。最上面的框是ALL,然后是Category 1、Category 2、Category 3。单击每个框时,只会显示这些"类型"的图像。

任何关于代码的提示(甚至是我应该寻找的代码类型,即CSS、Javascript、jQuery)都将不胜感激。谢谢

CSS->

.chkbox-container{
  float:left;
  width:95px;
  border:1px solid #ccc;    
}
.img-container{
  float:left;
  width:300px;
  border:1px solid #ccc;    
}
img{
  display:inline-block;
  width:90px;
  height:75px;
  padding:2px;
  border:1px solid black;
  display:none;    
}

JQuery->

$('.chkbox-container :radio').on('change', function(){
  var me = $(this);
  $.each($('.img-container img'), function(i,v){
    var theCats = $(v).attr('rel');
    theCats = theCats.split(' ');
    if($.inArray(me.val(), theCats)){
      $(v).show();
    }else{
      $(v).hide();
    }
  });        
});

HTML->

<div class="chkbox-container">
  <input type="radio" name="catfilter[]" value="all" checked="checked"/> All<br/>
  <input type="radio" name="catfilter[]" value="category1" /> Category 1<br/>
  <input type="radio" name="catfilter[]" value="category2" /> Category 2<br/>
  <input type="radio" name="catfilter[]"value="category3" /> Category 3<br/>
</div>
<div class="img-container">
  <img src="path.to/the/image/ext" rel="category1" />
  <img src="path.to/the/image/ext" rel="category2" />
  <img src="path.to/the/image/ext" rel="category3" />
</div>

为任何觉得有用的人使用jsFiddle。