@michail0011

Есть, скрипт, как сделать закрытие модальных окон, открытых до этого?

var ModalEffects = (function() {

	function init() {

		var overlay = document.querySelector( '.md-overlay' );

		[].slice.call( document.querySelectorAll( '.md-trigger' ) ).forEach( function( el, i ) {

			var modal = document.querySelector( '#' + el.getAttribute( 'data-modal' ) ),
				close = modal.querySelector( '.md-close' );

			function removeModal( hasPerspective ) {
				classie.remove( modal, 'md-show' );

				if( hasPerspective ) {
					classie.remove( document.documentElement, 'md-perspective' );
				}
			}

			function removeModalHandler() {
				removeModal( classie.has( el, 'md-setperspective' ) ); 
			}

			el.addEventListener( 'click', function( ev ) {
				classie.add( modal, 'md-show' );
				overlay.removeEventListener( 'click', removeModalHandler );
				overlay.addEventListener( 'click', removeModalHandler );

				if( classie.has( el, 'md-setperspective' ) ) {
					setTimeout( function() {
						classie.add( document.documentElement, 'md-perspective' );
					}, 25 );
				}
			});

			close.addEventListener( 'click', function( ev ) {
				ev.stopPropagation();
				removeModalHandler();
			});

		} );

	}

	init();

})();


Есть такой вот скрипт. Как сделать, чтобы при открытии модального окна из активного окна, старое окно закрывалось, а не просто перекрывалось другим?
  • Вопрос задан
  • 78 просмотров
Пригласить эксперта
Ответы на вопрос 2
Veneomin
@Veneomin
Закрывать их через js?
window.open('', '_self', ''); window.close();
Ответ написан
Stalker_RED
@Stalker_RED
Попробуйте добавить вызов removeModal() прямо перед строчкой classie.add( modal, 'md-show' );

Не факт что сработает, потому что это не весь код, разметки нет, и непонятно что такое "classie".
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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