JavaScript:单击不进行切换<;a>;链接

JavaScript:单击不进行切换<;a>;链接,javascript,toggle,Javascript,Toggle,这是我的代码: var works = document.querySelector('#works'); var cross_one = document.querySelector('#cross_one'); var works_navigation = document.querySelector('#works_navigation'); works.addEventListener('click', function (event) { if (cross_one.sty

这是我的代码:

var works = document.querySelector('#works');
var cross_one = document.querySelector('#cross_one');
var works_navigation = document.querySelector('#works_navigation');
works.addEventListener('click', function (event) {
      if (cross_one.style.display == "") {
          cross_one.style.display = "none";
        works_navigation.style.display = "block";
      } else {
          cross_one.style.display = "";
          works_navigation.style.display = "none";
      }
    }
  );
包括一个切换功能,工作得很好。但另外,我需要这样一个命令: 如果点击了结构内部的
链接,则不应切换

我的想法是这样的:

var allLinks = document.links;
allLinks[i].onclick = function () {
cross_one.style.display = "none"; };

但我不知道该把它归给谁。

我不确定我是否理解你的问题,但你可能在寻找这样的问题: 在HTML中,添加如下链接

<a href="#!" onclick = "doNotToggle()"> My Link </a>

单击链接将阻止eventListener函数执行任何操作。

谢谢!一般来说,这是可行的。如果单击链接,现在没有切换。但是:如果我在结构内部的某个位置单击链接不在的位置,它应该会再次切换。然后,您可以添加另一个fonction toggle(),设置变量toggle=true,并在需要时调用它(不确定我是否正确理解)
var toggle = true;

function doNotToggle() {
    toggle = false;
}

var works = document.querySelector('#works');
var cross_one = document.querySelector('#cross_one');
var works_navigation = document.querySelector('#works_navigation');
works.addEventListener('click', function (event) {
      if (toggle) {
          if (cross_one.style.display == "") {
              cross_one.style.display = "none";
              works_navigation.style.display = "block";
          } else {
              cross_one.style.display = "";
              works_navigation.style.display = "none";
          }
      }
});