基本上,我有一个gallery(grid),当单击每个单独的块时,它将显示一个隐藏的div。我正在使用该功能。我还在每个块上有一个颜色叠加,该颜色叠加在悬停时消失。我还希望隐藏的div父块不具有覆盖层-当隐藏的div可见时。目前,它删除了所有父块的叠加层,并且应该仅是显示隐藏div的父块。查看小提琴以进一步了解。
$(".glry-itm").click(function() {
$(".hidden").slideUp();
if ($(".hidden").is(":visible")) {
$(this).next(".hidden").slideToggle(300);
$(".glry-itm").addClass("On");
} else{
$(this).next(".hidden").slideToggle(300);
$(".glry-itm").addClass("Off");
}
});
JsFiddle Here
最佳答案
使用$(this).addClass("On");
代替$(".glry-itm").addClass("On");
$(".glry-itm").addClass("On");
将类添加到所有glry-itm
元素。如果您在点击处理程序内使用this
,它将将该类添加到当前点击的元素中
Fiddle