Javascript toggle()只显示,从不隐藏绝对定位的div

Javascript toggle()只显示,从不隐藏绝对定位的div,javascript,jquery,Javascript,Jquery,请别忘了给我最终的救世主贝特鲁特的伟大答案投票 我遇到了这个问题。切换只在单击时显示,它从不隐藏 TL;DR:它通常看起来像下面的截图,但是.toggle;当我再次单击时不会隐藏 第一个div出现在实际选择框上方的鼠标上,并对其自身进行任何单击 通常,单击第一个div(带有1px黑色边框的小div)将显示第二个div,该div有效,再次单击将隐藏该div,该div无效。单击事件有效,切换失败 这是元素的html,是的,它通常位于表格单元格中: <td style="vertical-ali

请别忘了给我最终的救世主贝特鲁特的伟大答案投票

我遇到了这个问题。切换只在单击时显示,它从不隐藏

TL;DR:它通常看起来像下面的截图,但是.toggle;当我再次单击时不会隐藏

第一个div出现在实际选择框上方的鼠标上,并对其自身进行任何单击

通常,单击第一个div(带有1px黑色边框的小div)将显示第二个div,该div有效,再次单击将隐藏该div,该div无效。单击事件有效,切换失败

这是元素的html,是的,它通常位于表格单元格中:

<td style="vertical-align: top; text-align: left;">
<select class="placeholder0" id="sortedselect0">
<option selected="selected">- for - </option>
<option>adj. &nbsp; foraminated</option>
<option>adj. &nbsp; foraminiferous</option>
<option>adj. &nbsp; foraminous</option>
<option>adj. &nbsp; forbearant</option>
<option>adj. &nbsp; forbearing</option>
<option>adj. &nbsp; forbidden</option>
<option>adj. &nbsp; forbiddenly</option>
<option>adj. &nbsp; forbidding</option>
<option>adj. &nbsp; forblack</option>
<option>adj. &nbsp; forby</option>
<option>AND MANY MORE OPTIONS</option>
</select>

<div class="anti" id="anti0" style="height: 18px; width: 179px; position: absolute; top: 209px; left: 494px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-image: initial; background-color: transparent; display: block; "></div>

<div class="floats" style="display: none; position: absolute; top: 227px; left: 494px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-image: initial; " id="floatdiv0"><img style="width: 222px; height: 342px;" alt="" src="fake_iframe.png"></div>
但是我测试了它,它不起作用,所以也许我做错了

我想在工作中添加一个有问题的代码示例,但是当我将代码从普通页面复制到这个新的php页面时,它完全不起作用


请帮我切换一下这个分区 根据一些假设

在单击处理程序中:

jQuery("div.floats").hide();
...
jQuery("#floatdiv1").toggle();
由于floatdiv1还具有class=floats,因此上面的命令序列的净效果将始终显示它

尝试:


你不能为我们求和吗?哇,边界之海是的,我忘了告诉你,jQuery在2个分区中添加了那些边界属性,它们都隐藏在startplease提供了一个他妈的被否决的人,为什么?请解释一下好吗=坐着工作!我唯一剩下的问题是//和unhide覆盖jQuery\div.anti\.show;现在没有激活ofc,你知道我是如何根据切换的输出来做的吗?试着替换两行$div.anti.hide;和$this.show;使用单行$div.anti.not$this.hide;。这确实更平滑,但问题是,当鼠标盖创建所有反div时,它们在单击后都被隐藏,因为出于某种原因,即使使用z-indez,它们也会与我的floatdiv重叠。因此,我需要在关闭floatdiv后恢复它们的不透明度/取消隐藏它们,以便能够单击它们。我已经更新了您的一些其他答案,作为感谢btw=哦,忘了提及!我用正确的调整实现了你的一段if代码,它工作得完美无缺=
{
    if ( showOrHide == true ) {
        jQuery('#floatdiv1').show();
    } else if ( showOrHide == false ) {
        jQuery('#floatdiv1').hide();
    }
}
jQuery("div.floats").hide();
...
jQuery("#floatdiv1").toggle();
jQuery("div.floats").not("#floatdiv1").hide();//hide all other floats
...
jQuery("#floatdiv1").toggle();//toggle this float