Packery - jquery show / hide工作但不是其他方式

时间:2014-11-29 04:58:38

标签: javascript jquery html packery

我使用Packery时遇到了一个奇怪的问题。以下是我的代码。

如果我从show(默认)切换到隐藏,当我从下拉菜单中选择时,它可以正常工作。

当我在加载时隐藏它并希望在我从淹没中选择时显示该类,它不起作用。它只是向我展示了最后一张照片。

我似乎无法弄清问题是什么。有人可以帮忙吗?

<select id="DateFilter">
    <option selected>Choose Date</option>
    <option id="yesterday">yesterday</option>
    <option id="today">today</option>
</select>

<div id="container" class="js-packery" data-packery-options='{ "itemSelector": ".item", "gutter": 0 }'>
  <div class="yesterday">

    <div class="item">
      <figure><img src="pic1.jpg" width="100%"><figcaption>Pic 1</figcaption></figure>
    </div>

    <div class="item">
      <figure><img src="pic2.jpg" width="100%"><figcaption>Pic 2</figcaption></figure>
    </div>

    <div class="item">
      <figure><img src="pic3.jpg" width="100%"><figcaption>Pic 3</figcaption></figure>
    </div>

  </div>
</div>

<script>
    $(document).ready(function(){
      $(".yesterday").show();
      $("#DateFilter").change(function(){
        if($(this).find("option:selected").attr("id")=="yesterday"){
           $(".yesterday").hide();
        }
      });
   });
</script>

2 个答案:

答案 0 :(得分:1)

<select id="DateFilter">
  <option selected>Choose Date</option>
  <option value="yesterday" id="yesterday">yesterday</option>
  <option value="today" id="today">today</option>
</select>

并更改

   if($(this).find("option:selected").attr("id")=="yesterday"){

   if($(this).val() == 'yesterday'){

答案 1 :(得分:1)

代码正常运作。您已部分解释了您的问题&gt;图像可以在文档加载时显示,并在您选择昨天时隐藏。