javascript - 尝试使用 HTML5/CSS3/JS 创建带有 z-index 的堆叠菜单

标签 javascript html css onclick z-index

我到处寻找解决方案,但找不到任何具体的解决方案,我知道这是非常可行的,但我认为我缺乏 JavaScript 经验限制了我在这里的使用。 基本上我有 5 个 div,每个都像一个按钮。我希望每个按钮使另一个与 5 个按钮无关的 div 出现。我称它们为“Menubox1/2/3/4”,每个都链接到每个。我的第一个想法是将所有菜单堆叠在一起,顶部有一个空白菜单,z-index 为 5。

然后通过在 div 按钮上使用“onclick”方法,我会告诉它获取其各自菜单的元素并将其 z-index 增加到 6,以位于堆的顶部。我还会告诉它让所有其他菜单转到 4,低于其余菜单。

如此有效,每个按钮都会使与其关联的菜单出现在具有最高 z-index 的顶部,并且还会隐藏其他菜单框,以便没有其他框位于同一级别。

我找到了一种方法让它与这个 JS 一起工作

//Shows the current menu on top
  function showstuff(boxid) {
            document.getElementById(boxid).style.zIndex="5";
        }
//Hides the rest of them.
        function hidestuff(boxid) {
            document.getElementById(boxid).style.zindex="3";
        }



<div onclick="showstuff('Menu1'); hidestuff('Menu2'); hidestuff('Menu3');" ;style="cursor:pointer;">

通过将相应的 boxid 放入“onclick”中,一切正常,但问题是它只能工作一次,每次单击时我都需要它工作。

如果有人需要更多信息,我会提供。

最佳答案

为什么不在要隐藏/显示的 Pane 上使用 visibility:hidden/visible 呢?这将需要在每次单击时重置每个 Pane 上的该属性,但您不必担心浏览器如何呈现 z-index,或者是否有任何时候在呈现时您会看到多个 div 呈现的奇怪显示,而只有一个应该。

关于javascript - 尝试使用 HTML5/CSS3/JS 创建带有 z-index 的堆叠菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12354432/

相关文章:

javascript - 如何在 Next.js 中设置 head?

javascript - XML .attributes 不起作用

html - 当表格高度为100%时,如何将表格行设置为特定值?

html - 如何使用 div 使多个图像水平居中并响应?

javascript - 如何通过ajax传递包含数据和文件的对象数组并在mvc Controller 中检索?

javascript - 拉斐尔的路径位置

javascript - 如何使用javascript浏览器端获取显卡驱动程序名称?

jquery - Div 大小取决于单击时从左到右翻译 Angular 的文本

javascript - MeteorJS 发布查询不起作用

javascript - 恩伯斯 : how to display loading spinner and notification messages on model operations