0

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

本质上,我想创建一个包含(例如)30 张图片的照片库,在这 30 张图片中,它们可以分为 3 个不同的类别。

我希望用户能够单击一个复选框来显示或隐藏不同的类别(和后续图片)或查看它们。

例如,照片库左侧将有 4 个复选框。顶部的框是 ALL,然后是 Category 1、Category 2、Category 3。当您单击每个框时,只会出现那些“类型”的图像。

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

4

1 回答 1

1

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。

于 2012-07-26T14:32:46.777 回答