javascript - 第一次点击触发第一个功能很简单 - 第二次点击触发另一个功能不起作用?
问题描述
早上好,昨天卡在这个上 - 无法弄清楚为什么它没有开火。
尝试使它在激活菜单时从另一个 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() };
解决方案
谢谢大家的帮助,最后我还是这样做了:
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() };
推荐阅读
- laravel - Laravel 5.8 VerifyCsrfToken 异常不起作用
- c++ - 事件系统:类型转换或联合的继承
- unix - 在 unix 中使用文件模式重命名文件时出现问题
- laravel - Laravel - 日期修改器和格式
- vue.js - 如何在 Vue js 网站中使用 darkreader 包启用暗模式?
- git - 删除功能分支后从 master 中删除 git commit
- google-sheets - Google 表单条目删除的公式(答案)
- android - 是否可以在完整的新应用(游戏)的内部测试阶段测试 Google Play 计费(应用内计费)?
- java - Android Studio - 当sql查询搜索记录不存在时返回错误消息
- spartacus-storefront - i18n-backend 在 spartacus 中具有 oauth2 授权