javascript - 在选定的特定图像上添加叠加层(不超过 3 个)
问题描述
我有一张卡片网格,现在单击其中一张卡片会为所有卡片添加叠加层。
我需要:
1.- 如果用户点击一张卡片,只有那张卡片得到覆盖。
2.- 一次不超过 3 张卡片可以叠加。用户必须单击已单击的卡片之一以取消选择它,才能选择另一张卡片。
代码笔:
https://codepen.io/ogonzales/pen/yLJGzYr
JS代码:
$('.imageDiv').click(function(){
$('img').toggleClass("tricky_image");
$(".text").toggleClass("display-inline");
});
预期结果:
解决方案
试试这个。使用this
以便保留相关范围。
$('.imageDiv').click(function(){
$(this).find('img').toggleClass("tricky_image");
/*$(".text").css("display", "inline");*/
$(this).find(".text").toggleClass("display-inline");
});
您可以同样(也许)使用该.children()
方法(而不是.find()
),但我不知道您的 dom 结构在每个“imageDiv”中的具体情况。
推荐阅读
- python - 无法使用终端安装 python swagger 客户端
- python - 使用 Python 读取 CSV 文件行中的最后一个非空单元格
- c - RSA_public_encrypt 出现分段错误
- javascript - item() 是数组对象方法之一
- angular - TypeScript 不知道 Angular 的激活路由 paramMap.params
- python - 无法在powershell中运行python
- oracle - Oracle 19c 中的 add_months 函数异常行为
- java - ByteBuddy 是否可以拦截由带有注释的接口声明的方法?
- sparql - 我如何编写一个查询 om SPARQL 来获取类的详细信息,然后获取 iots 子类的详细信息?
- firebase - Flutter - 在 Cloud Firestore 中更新地图和数组的值