基本上我有一个画廊(网格),当单击每个单独的 block 时,它会显示一个隐藏的 div。我有那个功能。我还在每个 block 上有一个颜色叠加层,在悬停时消失。我还希望隐藏的 div 父 block 没有覆盖 - 当隐藏的 div 可见时。目前它删除了所有父 block 的覆盖,应该只有显示隐藏 div 的父 block 。查看 fiddle 以获得进一步的理解。
$(".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");
}
});
最佳答案
使用 $(this).addClass("On");
而不是 $(".glry-itm").addClass("On");
$(".glry-itm").addClass("On");
将向所有 glry-itm
元素添加类。如果您在点击处理程序中使用 this
,它会将类添加到当前点击的元素
关于Jquery 在具有相同类的其他 div 中选择被点击的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28688289/