Pergunta sobre temas e modelos do WordPress: vinte e um tema filho – menu – Não é possível ler a propriedade nula ‘classList’

Um usuário perguntou ?

Estou tentando converter este site em um tema de vinte e uma crianças. /Js/menu.js no meu tema filho não parece funcionar, pois nada acontece quando o botão do ícone do presunto é clicado (veja o link do meu site acima para verificar o comportamento correto). Ao inspecionar através do Google Chrome Inspect, encontro os seguintes erros:

Erro TypeError: Não é possível ler a propriedade nula ‘classList’ em mediaqueryresponse (menu.js?ver=5.3.2:19) em menu.js? Veja=5.3.2:10 em menu.js? Consulte=5.3.2:31 mediaqueryresponse@menu.js? ver=5.3.2:19(sem nome)@menu.js? veja=5.3.2:10(sem nome)@menu.js? ver=5.3.2:31

Agradecemos qualquer conselho

header.php no tema filho

<header class="header" id='myTopnav'>

<?php
 wp_nav_menu(
             array(
                  'theme_location'=> 'topnav',
                  'container' => 'nav',
                  'menu_class' => 'topnav',
                  'menu_id'    => 'myTopnav',
                  )
 );?>

<button class="ham-icon"><span class="fa fa-bars fa-2x"></span></button>

</header>

/js/menu.js no tema filho

(function () {
  var mql = window.matchMedia("screen and (max-width: 960px)");
  //detect media query

  var navTop = document.querySelector(".header");
  //return first element within the document that matches .header

  var toggle = document.querySelector(".ham-icon");

  mediaqueryresponse(mql);
  //ensures that addListener function is executed when the page loads, by default addListener only fires when state of the window changes
  mql.addListener(mediaqueryresponse);

  function mediaqueryresponse(mql) {
    if (mql.matches) {
      toggle.addEventListener("click", clickMenu);
      //if media query matches, execute click or clickMenu event
    } else {
      navTop.classList.remove("responsive");
      //otherwise remove .responsive
      toggle.removeEventListener("click", clickMenu);
      //and remove EventListener
    }

  }

  function clickMenu() {
    navTop.classList.toggle("responsive");
  }

})();

(@810311-1)

11 meses atrás

O código acima funcionou quando usei um tema criado do zero, mas não funciona com o tema filho.

Isto foi útil?

0 / 0

Deixe uma resposta 0

O seu endereço de email não será publicado. Campos obrigatórios são marcados *