通过点击像素的定数切换砖石图像高度

问题描述 投票:1回答:1

让我知道如果此查询的标题是不清楚。下面的代码片段,而不是使点击的图像消失。

我已经审核code是切换像素的一组数字之间的元素的高度。我已阅读Desandro的masonry toggle代码。我已审阅jquery documentation。不过我在努力实现的解决方案。

我明白,这可能是简单的,但专家对于一个新手的一些方向,将不胜感激。

i_stack

$grid.on('click', '.grid-item', function() {
  $(this).toggle(
    function() {
      $(this).height($(this).height() + 100);
    },
    function() {
      $(this).height($(this).height() - 100);
    }
  );
});
jquery html css jquery-masonry
1个回答
1
投票

首先,toggle意味着完全隐藏或显示元素:

说明:显示或隐藏匹配元素。

相反,考虑animate使用自己的拨动逻辑。

var counter = 0;

$('.grid').on( 'click', '.grid-item', function() {
  // counter will toggle between 0 or 1
  let direction = ++counter % 2 === 1 ? "-=100px" : "+=100px";
  $(this).animate({ "height": direction }, "slow" );
});
.grid-item {
  background-color: blue;
  color: white;
  height: 150px;
  width: 150px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="grid">
  <div class="grid-item"></div>
</div>

https://jsfiddle.net/qxb10rnv/

© www.soinside.com 2019 - 2024. All rights reserved.