【发布时间】:2020-04-14 07:36:57
【问题描述】:
当我在智能手机屏幕上“点击”时,我正在使用 jQuery 和 Hammer.js 来修改我的网站的样式属性。
我有 3 个元素:img#icone-bijagos、p#texte-bijagos 和 a#lien-bijagos。链接lien-bijagos 与图像icone-bijagos 相关。文本 texte-bijagos 不透明度在 CSS 中设置为 0。
当我第一次“点击”时,我希望文本的不透明度变为1,并且我不希望链接自行激活。在第二次点击时,我希望链接自行激活。
我想我会使用 if 条件:if opacity==="0",然后是 opacity==="1" 和 pointerEvents==="none"(停用链接),如果是 opacity==="1",然后是 pointerEvents==="auto"。但它不起作用。
当我第一次点击屏幕时,文本出现并且链接没有激活,但是当我第二次点击时,什么也没有发生。
var iconeBijagos = document.getElementById("icone-bijagos");
if (document.getElementById("texte-bijagos").style.opacity === "0") {
Hammer(iconeBijagos).on("tap", function(event) {
document.getElementById("lien-bijagos").style.pointerEvents === "none";
document.getElementById("texte-bijagos").style.opacity === "1";
});
} else if (document.getElementById("texte-bijagos").style.opacity === "1") {
Hammer(iconeBijagos).on("tap", function(event) {
document.getElementById("lien-bijagos").style.pointerEvents === "auto";
});
}
#icone-bijagos {
position: absolute;
left: 41%;
top: 40%;
width: 2%;
}
#icone-bijagos:hover {
width: 2.2%;
}
#texte-bijagos {
position: absolute;
left: 43.5%;
top: 37%;
opacity: 0;
color: #ff9600;
font-weight: bold;
}
#bijagos:hover #texte-bijagos {
transition-property: opacity;
transition-duration: 0.2s;
transition-timing-function: linear;
opacity: 1;
}
<div id="bijagos">
<a href="www..." id="lien-bijagos">
<img src="www..." id="icone-bijagos">
</a>
<p id="texte-bijagos">La géologie des Bijagos</p>
</div>
【问题讨论】:
-
=不是比较运算符, -
=是分配。==或===应该用于检查是否相等。投票结束是一个印刷错误 -
谢谢,但是当我将 = 更改为 === 时,它就不起作用了
-
你是否意识到一旦你绑定了事件,它就永远不会附加另一个。事件返回?
标签: javascript jquery hammer.js