【发布时间】:2016-12-05 04:05:13
【问题描述】:
在我提出问题之前,我想声明,我一直在寻找这个答案的帮助比我想承认的要长,而最初的一些有趣的游戏网站实际上已经开始惹恼了地狱出乎我的意料,我想不通。
现在解决问题。我已经在网上寻找解决方案,但只找到了切换 div/a 可见性的方法,使它们在隐藏时消失,无论是使用 css 还是使用 show/hide jquery 函数。
我需要图像占用的空间保留在那里,以便可以再次单击它以再次切换可见性,我的想法是如果我将图像的原始不透明度设置为 0,然后当用户单击它时,它变得可见。这很好用,但是一旦我再次单击它就不会消失。
var t = $(this);
$("a").click(function() {
if ($(t.children("img:first").css('opacity') === '0')) {
$(this).children("img:first").css("opacity", "1");
} else if ($(t.children("img:first").css('opacity') === '1')) {
$(this).children("img:first").css("opacity", "0");
}
});
在此我使用锚标记使整个区域可点击。这应该允许用户单击图像所在的位置,它变得可见,然后应该允许用户再次单击它以使其不可见。
<a id="image1">
<img src="1.png" />
</a>
这就是我如何根据点击的标签选择图像的方式。
【问题讨论】:
-
once I click it again it won't go away- 所以它开始不可见? -
if ($(t.children("img:first").css('opacity') === '0'))- 应该是if ($(t.children("img:first").css('opacity')) === '0') -
是的,它一开始是不可见的。
-
我很惊讶它可以工作一次,鉴于上述情况 - 您是否在开发人员工具控制台中获得任何可能阐明问题的输出?
-
什么都没有,目前它甚至一次都不起作用。如果我删除 if 语句,它可以正常工作,但显然这有点消除了目的。
标签: javascript jquery html css