我需要了解以下JavaScript代码

时间:2019-10-10 16:10:10

标签: javascript

我有以下普通的JavaScript代码。我在var removeClass = true;

部分不了解的内容
var arrow = document.getElementById('arrow');
var removeClass = true;
function turn(){
arrow.classList.toggle('rotate');
  removeClass = false;
}
function cls(){
if(removeClass){
    arrow.classList.remove('rotate');
}
   removeClass = true;
}
document.querySelector('#dropdown01').addEventListener('click', turn);
document.querySelector('body').addEventListener('click', cls);

在这里,当我单击下拉列表时,将箭头旋转180度,并在单击主体时取消旋转。有用。但是我不知道怎么办?它正在杀死我。帮助表示赞赏。

2 个答案:

答案 0 :(得分:1)

这是将初始值设置为removeClass。 运行turn()函数时,它将removeClass设置为false。然后,在运行函数cls()时,它将检查'removeClass'是true还是false。 简而言之,设置removeClass = true只是为了确保在页面加载时将正确的值放在变量上。

答案 1 :(得分:0)

该变量用于检查箭头是否旋转。当您第一次使用turn()旋转它时,您的removeClass变成false,然后将rotate类添加到箭头中(我假设会旋转它)。当您使用cls()向后旋转时,它会删除旋转类,并且removeClass变为true。这意味着只要rotateClass为真,箭头就不会旋转。

话虽这么说,该变量的命名选择并不是编写代码的人的最佳选择。