javascript - 菜单栏功能无法使用 javascript

标签 javascript html css navbar menubar

我正在尝试在屏幕左侧编写一个菜单栏,该菜单栏已设置为 ID 为 blur 的 div。我设置了另一个具有 id menuImage 的图像,它实际上是一个应该打开菜单栏的齿轮图标,但它根本不会响应,我无法弄清楚为什么。请帮助我,我坚持这个。这是代码:

var state = false;
var opacity = 0.0;
var menuImage = document.getElementById("menuImage");
var blur = document.getElementById("blur");

var blurAppearence = function(){
    if(state == false){
        state = true;
    } else {
        if(state == true){
            state = false;
        }
    }
}
if(state == false){
    var disappearence = function(){
        if(opacity <= 0.4){
            blur.style.opacity = opacity;
        } else {
            clearInterval(timer)
        }
        opacity += 0.1;
    }
   var timer = window.setInterval(appearence, 50);

} else {

    if(state == true){
        var appearence = function(){
            if(opacity >= 0.0){
                blur.style.opacity = opacity;
            } else {
                clearInterval(timer2);
            }
            opacity -= 0.1;
        }
       var timer2 = window.setInterval(appearence, 50);
    }
}


menuImage.addEventListener("click", blurAppearence);

最佳答案

看来您过早关闭了 blurAppearance 功能 block 。

线正上方的右大括号

if(state == false){

实际上应该在行的前面

menuImage.addEventListener("click", blurAppearence);

您的第一个 window.setInterval 也应该调用消失函数。

参见 https://jsfiddle.net/orndorffgrant/cfrc5b55/

你也可以替换你的

if(state == false){
    state = true;
} else {
    if(state == true){
        state = false;
    }
}

阻止:

state = !state;

关于javascript - 菜单栏功能无法使用 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30294130/

相关文章:

javascript - QML 中的可折叠面板

javascript - 使用 JQuery 将事件监听器添加到动态添加的元素?

html - 无法将字体加载到 Canvas

jquery - 在 jQuery 中指定 canvas 元素的尺寸

javascript - 在提交表单时为无效元素最近的 div 设置动画

javascript - meteor 蒙戈 : sync fields across collections

javascript - 仅当鼠标位于拉斐尔路径上而不是内部时才会触发悬停

css - 带有 Assetic 的 Synmfony 2 中 CSS 文件中的@font-face 规则

javascript - Mustache.js 添加文本而不是 html

javascript - 音频无法在Javascript中使用