【问题标题】:Hide and show element in sync with another element [duplicate]隐藏和显示与另一个元素同步的元素[重复]
【发布时间】:2016-01-10 18:01:41
【问题描述】:

如果我有两个像这样的<div> 元素:

<div class="overlay"></div>
<!-- Other content here -->
<div class="popup"></div>

div.popupdisplay: block 时,我希望div.overlay 也有display: block,同样适用于display: none;

我不想使用 if 语句来检查 div.popup 是否可见,我想要一个类似事件处理程序的东西。

我将如何使用 jQuery 来做到这一点?谢谢。

【问题讨论】:

  • “我忘了说一件事,我希望它能够自动检查,而不是使用 if 语句来执行此操作,我想要类似事件处理程序的东西。” 可以包括.popupdisplay 属性如何在 jscss 在 Question 处更改? &lt;!-- Other content here --&gt; html 是什么?
  • 也许这可以帮助你:stackoverflow.com/questions/1397251/…
  • 嗯?介意展示一些你目前拥有的 jQuery 吗? P.S:为什么不简单地将弹出窗口放在叠加层中?

标签: javascript jquery html css


【解决方案1】:

你可以像下面那样做。希望这会对你有所帮助。

setInterval(function() { 
    if($('div.popup').is(':visible')) {
        $('div.overlay').show();
    } else {
        $('div.overlay').hide();
    }
}, 20);

【讨论】:

  • 有一件事我忘了提到我希望它自动检查,而不是使用 if 语句执行此操作,我想要类似事件处理程序的东西。
  • 您可以使用setInterval 在间隔后重复执行此操作。请参阅更新的答案。 @PavSidhu
  • 运行 setInterval 来检查元素的可见性真的很糟糕。
猜你喜欢
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-12
  • 1970-01-01
  • 2018-07-17
  • 2013-03-26
  • 1970-01-01
相关资源
最近更新 更多