Juli888
@Juli888

Как сделать два всплывающих overlay на одной странице?

Как сделать два всплывающих окна на одной странице вот с такими эффектами: https://tympanus.net/Development/FullscreenOverlay... ?

Код overlay-1:
<button id="trigger-overlay">Открыть оверлей-2</button>
<div class="overlay overlay-slidedown">Содержимое оверлея-1</div>
      <button type="button" class="overlay-close-modal">Закрыть оверлей-1</button>


Код overlay-2:
<button id="trigger-overlay-modal" type="button">Открыть оверлей-2</button>
<div class="overlay modal overlay-scale">Содержимое оверлея-2</div>
    <button type="button" class="overlay-close-modal">Закрыть оверлей-2</button>


Внизу скрипт для первого оверлея. Какие здесь нужно изменить переменные в js, чтобы открывался второй оверлей? У меня при замене классов в скобках, кнопка все время открывает только первый overlay на странице
(function() {
	var triggerBttn = document.getElementById( 'trigger-overlay' ),
		overlay = document.querySelector( 'div.overlay' ),
		closeBttn = overlay.querySelector( 'button.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 );

})();
  • Вопрос задан
  • 159 просмотров
Пригласить эксперта
Ответы на вопрос 1
@kacheleff
fullstack developer
нужно менять не только классы, но и id элемента.
var triggerBttn = document.getElementById( 'trigger-overlay-modal' )
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 12:20
10000 руб./за проект
22 нояб. 2024, в 11:53
3000 руб./за проект
22 нояб. 2024, в 11:51
20000 руб./за проект