首页 > 解决方案 > 第一次点击触发第一个功能很简单 - 第二次点击触发另一个功能不起作用?

问题描述

早上好,昨天卡在这个上 - 无法弄清楚为什么它没有开火。

尝试使它在激活菜单时从另一个 JS 文件中的数组中提取值,但在关闭菜单时将其删除。我的值被拉了一点,但似乎无法实现在第二次点击时被删除的值。

我检查了删除值功能,当它绑定到另一个按钮时它可以工作。

const burger = document.querySelector('.burger');
    const nav = document.querySelector('.nav-links');
    const navLinks = document.querySelectorAll('.nav-links li');
        
burger.onClick(function() {
 
    toggleFlag ? first() : second();
    toggleFlag = !toggleFlag;
});

var toggleFlag = true;

function first(){
        burger.addEventListener('click', () => {
            nav.classList.toggle('nav-active');
        if('nav-active')pullValue();
       });
         //Burger Animation
        burger.classList.toggle('toggle');
};

function second() { deleteValue() };

标签: javascriptanimationmenugame-development

解决方案


谢谢大家的帮助,最后我还是这样做了:

const burger = document.querySelector('.burger');
    const nav = document.querySelector('.nav-links');
    const navLinks = document.querySelectorAll('.nav-links li');
        
    function call(){
        if(callOne) one();
       else two();
       callOne = !callOne;
    }
    
    var callOne  = true;

    burger.addEventListener('click', 
    function one(){
        
            
            nav.classList.toggle('nav-active');
          
            if('nav-active')pullValue();
            

            //Animate Links
            navLinks.forEach((link, index) => {
                if (link.style.animation) {
                    link.style.animation = '';
                } else {
                    link.style.animation = `navLinkFade 0.5s ease forwards ${index / 7 + 0.3}s`;
                }
             });
         //Burger Animation
        burger.classList.toggle('toggle');

    });



function two() { deleteValue() };

推荐阅读