javascript - 全屏菜单淡入淡出不适用于 svg 和图像

标签 javascript jquery css svg fullscreen

我一直在尝试制作一个具有平滑淡入和淡出的全屏菜单切换。

这适用于除 svg 元素和图片之外的所有元素。

基本上,当您单击菜单汉堡时,您可以清楚地看到图像和 svg 图标没有淡出,其他所有元素都会淡出,但这些元素不会。

起初我认为这可能是与 z-index 相关的问题并更改了周围的数字但没有任何效果。

几天来我一直在尝试查找有关此的信息,但找不到任何内容。

非常感谢您对此的帮助,谢谢。

Heres my fiddle

和代码:

(function () {

    "use strict";

    var toggles = document.querySelectorAll(".c-hamburger");

    for (var i = toggles.length - 1; i >= 0; i--) {
        var toggle = toggles[i];
        toggleHandler(toggle);
    };

    function toggleHandler(toggle) {
        toggle.addEventListener("click", function (e) {
            e.preventDefault();
            (this.classList.contains("is-active") === true) ? this.classList.remove("is-active") || $("#testMenu").fadeOut(300) : this.classList.add("is-active") || $("#testMenu").fadeIn(300);
        });
    }

})();

最佳答案

发生这种情况是因为菜单容器在源中的图像之前列出,因此它在 z 轴上的索引较低。使用 z-indexposition:relative

在顶部制作 #testMenu
 <nav id="testMenu" style="display: none; z-index: 1000; position: relative;">

关于javascript - 全屏菜单淡入淡出不适用于 svg 和图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36543835/

相关文章:

javascript - 带有 MomentJS 的 UnderscoreJS 不会过滤动态数组的结果

javascript - 如何根据Jquery链式语句中的条件在toggle和removeClass之间切换?

javascript - 如何使 div 粘在顶部,然后在页面滚动到特定滚动时取消粘住

Javascript 按钮有两个功能。提交并单击

JavaScript 生成的 div 标 checkout 现在其他元素后面 - 设置了 z-index

javascript - iframe填充窗口大小

javascript - 如何在IE中只显示特定代码

javascript - 将基于 fetch 的函数转换为先前返回 Promise 的异步函数

javascript - jQuery 听起来 IE7/IE8 与 FlashExternalInterface 存在问题

javascript - 带有回调函数的图像下拉列表