繁体   English   中英

Mobile Nav不会在Safari中触发

[英]Mobile Nav doesn't trigger in Safari

我构建了一个移动导航,该导航使用javascript向导航添加类“ showtime”。 这个showtime类将不透明度设置为1,可见性设置为可见。 它在Chrome中效果很好,但是在Safari和Firefox中却没有任何作用,我不确定为什么。 这是网站:

https://vamediation.squarespace.com

这是Javascript

// MOBILE NAVIGATION
function mobileNav() {
  var trigger = document.querySelector('#menuTrigger');
  var menu = document.querySelector('.main-navigation');
  var closeNode = document.querySelector('#menuClose');

  trigger.addEventListener('click', function(event) {
    event.preventDefault();

    if (menu.className !== 'showtime') {
      menu.classList.add('showtime');
    }
  });

  closeNode.addEventListener('click', function(event) {
    event.preventDefault();

    if (menu.className !== 'showtime') {
      menu.classList.remove('showtime');
    }
  });
}

mobileNav();

和showtime类:

.showtime {
  opacity: 1;
  visibility: visible;
}

我认为javascript出了点问题,因为我没有看到它添加了showtime类。 我在控制台中也没有得到任何帮助。 任何帮助,将不胜感激!

该函数从不调用。 将其包装在(function ....)();内部; 因此它在页面加载时运行。

(function mobileNav() {
  var trigger = document.querySelector('#menuTrigger');
  var menu = document.querySelector('.main-navigation');
  var closeNode = document.querySelector('#menuClose');

  trigger.addEventListener('click', function(event) {
    event.preventDefault();

    if (menu.className !== 'showtime') {
      menu.classList.add('showtime');
    }
  });

  closeNode.addEventListener('click', function(event) {
    event.preventDefault();

    if (menu.className !== 'showtime') {
      menu.classList.remove('showtime');
    }
  });
})();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM