Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   FullscreenOverlayStyles (https://javascript.ru/forum/dom-window/49194-fullscreenoverlaystyles.html)

condpattern 02.08.2014 12:27

FullscreenOverlayStyles
 
Добрый день.
Есть такой демо пример http://tympanus.net/codrops/2014/02/...erlay-effects/
При клике на
id="trigger-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 );
})();

и появляется слой:
<!-- open/close -->
		<div class="overlay overlay-hugeinc">
			<button type="button" class="overlay-close">Close</button>
			<nav>
				<ul>
					<li><a href="#">Home</a></li>
					<li><a href="#">About</a></li>
					<li><a href="#">Work</a></li>
					<li><a href="#">Clients</a></li>
					<li><a href="#">Contact</a></li>
				</ul>
			</nav>
		</div>

Подскажите, пожалуйста, можно ли сделать на одной странице несколько ссылок/ кнопок с, к примеру,
id="trigger-overlay"
id="trigger-overlay-2"
id="trigger-overlay-3"

Чтобы каждый раз отрабатывал данный скрипт и при этом выводились разные слои? Премного благодарю за помощь.

рони 02.08.2014 19:41

condpattern,
вместо id сделать класс и обойти циклом все кнопки навесив в функции обработку своего слоя.
замануха ... :write:

рони 02.08.2014 20:10

Rise,
http://cockos.com/licecap/

condpattern 03.08.2014 15:28

Цитата:

Сообщение от рони (Сообщение 323970)
condpattern,
вместо id сделать класс и обойти циклом все кнопки навесив в функции обработку своего слоя.
замануха ... :write:

С заменой id на классы все ясно, а как навесить в функции обработку своего слоя?

рони 03.08.2014 15:52

Цитата:

Сообщение от condpattern
С заменой id на классы все ясно, а как навесить в функции обработку своего слоя?

closeBttn.addEventListener('click', function () {
            toggleOverlay(overlay)
        });

closeBttn и overlay -- вам надо как-то перед этим инициализировать.

condpattern 03.08.2014 16:41

Цитата:

Сообщение от рони (Сообщение 324074)
closeBttn.addEventListener('click', function () {
            toggleOverlay(overlay)
        });

closeBttn и overlay -- вам надо как-то перед этим инициализировать.

Хорошо. Покапаюсь. Спасибо.

рони 03.08.2014 17:10

condpattern,
:)
http://video.yandex.ru/users/granica-ru/view/84/


Часовой пояс GMT +3, время: 08:06.