Задать вопрос
@kingdomofcrooked
Дизайнер

Как создать вторую кнопку — закрыть?

Привет. У меня такая проблема. Есть выпадающее окно с меню навигацией которое появляется только на мобильных экранах. Там только одна кнопка закрыть окно. Хотелось бы сделать несколько. Не получается ничего даже если использовать querySelectorAll. Подскажите как можно решить проблему? Что за мода пошла использовать только один класс. Зачем вообще такие скрипты создают где можно назначать только одному элементу данное свойство?

Скрипт
(function() {
	var triggerBttn = document.getElementById( 'button-menu' ),
		overlay = document.querySelector( 'div.overlay' ),
		closeBttn = overlay.querySelector( '.overlay-close' );

		transEndEventNames = {
			'WebkitTransition': 'webkitTransitionEnd',
			'MozTransition': 'transitionend',
			'OTransition': 'oTransitionEnd',
			'msTransition': 'MSTransitionEnd',
			'transition': 'transitionend'
		},
		transEndEventName = transEndEventNames[ Modernizr.prefixed( 'transition' ) ],
		support = { transitions : Modernizr.csstransitions };

	function toggleOverlay() {
		if( classie.has( overlay, 'open' ) ) {
			classie.remove( overlay, 'open' );
			classie.add( overlay, 'close' );
			var onEndTransitionFn = function( ev ) {
				if( support.transitions ) {
					if( ev.propertyName !== 'visibility' ) return;
					this.removeEventListener( transEndEventName, onEndTransitionFn );
				}
				classie.remove( overlay, 'close' );
			};
			if( support.transitions ) {
				overlay.addEventListener( transEndEventName, onEndTransitionFn );
			}
			else {
				onEndTransitionFn();
			}
		}
		else if( !classie.has( overlay, 'close' ) ) {
			classie.add( overlay, 'open' );
		}
	}

	triggerBttn.addEventListener( 'click', toggleOverlay );
	closeBttn.addEventListener( 'click', toggleOverlay );
})();
  • Вопрос задан
  • 234 просмотра
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы