JavaScript:无需通过点击<a>链接进行切换

时间:2019-10-09 12:28:55

标签: 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.style.display == "") {
          cross_one.style.display = "none";
        works_navigation.style.display = "block";
      } else {
          cross_one.style.display = "";
          works_navigation.style.display = "none";
      }
    }
  );

包括一个切换功能,效果很好。但此外,我需要这样的命令: 如果点击了结构内部的<a>链接,则不应切换。

我的想法是这样的:

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

但我不知道该包括谁。

1 个答案:

答案 0 :(得分:0)

不确定我是否理解您的问题,但是您可能正在寻找这样的东西: 在您的HTML中,添加

之类的链接
<a href="#!" onclick = "doNotToggle()"> My Link </a>

和您的JS

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";
          }
      }
});

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