Jquery 按单击时设置的像素数切换砖石图像高度
如果此查询的标题不清楚,请告诉我。下面的代码摘录会使单击的图像消失 我已经回顾了在一组像素之间切换元素高度的方法。我已经看过了Desandro的代码。我已经看过了。尽管如此,我仍在努力实现一个解决方案 我很感激这对专家来说可能很简单,但对于新手来说,一些指导是很好的 i_stackJquery 按单击时设置的像素数切换砖石图像高度,jquery,html,css,jquery-masonry,Jquery,Html,Css,Jquery Masonry,如果此查询的标题不清楚,请告诉我。下面的代码摘录会使单击的图像消失 我已经回顾了在一组像素之间切换元素高度的方法。我已经看过了Desandro的代码。我已经看过了。尽管如此,我仍在努力实现一个解决方案 我很感激这对专家来说可能很简单,但对于新手来说,一些指导是很好的 i_stack $grid.on('click','grid item',function()){ $(此).toggle( 函数(){ $(this).height($(this).height()+100); }, 函数(){
$grid.on('click','grid item',function()){
$(此).toggle(
函数(){
$(this).height($(this).height()+100);
},
函数(){
$(this).height($(this).height()-100);
}
);
});
首先,用于完全隐藏或显示元素:
描述:显示或隐藏匹配的元素
取而代之,考虑使用自己的切换逻辑。
var计数器=0;
$('.grid')。打开('click','.grid项',函数(){
//计数器将在0或1之间切换
让方向=++计数器%2===1?”-=100px:“+=100px”;
动画({“height”:direction},“slow”);
});代码>
.grid项{
背景颜色:蓝色;
颜色:白色;
高度:150像素;
宽度:150px;
}
我认为这是一个错误的逻辑,因为不接受2个函数。第一个参数应该是以毫秒为单位的持续时间。我认为您应该改为使用。谢谢Dimitris。我考虑了toggleClass,但很难将它应用到我的特殊问题上。幸运的是,安迪的回答似乎在下面起作用。谢谢你,安迪-我真的很努力。在我的设计中有一个复杂的问题(我在IMG上有覆盖层,我将应用您的代码,但大概只有在重新配置砖石结构,使其排列覆盖层而不是图像后,这才有效),但我乐观地认为我能够适应您的解决方案。再次感谢,如果有兴趣的话,我在前面的评论中提到的扩展比预期的简单-代码在单击时调整网格项目高度,但没有重新排列砖石以显示这一点。下面的代码修复了这个问题:var counter=2;$grid.on('click','grid item',function(){let direction=++计数器%2===1?”+=100px:“-=100px”;$(this).animate({“height”:direction},“slow”,function(){$grid.mashing('layout')});});