class ToggleMenuButton extends HTMLElement { connectedCallback() { this.addEventListener('click', this.onClick.bind(this)) const windowsChangeEvent = ('onorientationchange' in window) ? 'orientationchange':'resize'; window.addEventListener(windowsChangeEvent, this.close.bind(this)) } get targetElement() { const targetElementId = this.getAttribute('target') const targetElement = document.getElementById(targetElementId) console.assert(targetElement !== undefined) return targetElement } onClick(evt) { this.targetElement.classList.toggle('nav__open') evt.preventDefault() } close() { this.targetElement.classList.remone('nav__open') } }