Flyout
ready
Introduction
Allows for content that can be hidden by default and opened over/above other content on the page by the user.
Examples
Click behaviour
<div class="fly-out" data-js="fly-out" data-fly-out-event-type="click">
<a href="#" class="btn btn--tertiary btn--xsmall" data-js="fly-out-toggle">
<span>Export</span><span class="icon icon--down-grey icon--down-hover-blue"></span>
</a>
<div data-js="fly-out-content" class="fly-out__content">
<nav class="nav nav--chrome">
<ul class="nav__list nav__list--chrome">
<li class="nav__list-item">
<a href="#" class="nav__link nav__link--chrome"><span class='no-wrap'><span class='icon icon--doc-grey'></span><span>.PDF</span></span></a>
</li>
</ul>
</nav>
</div>
</div>
Click-Sticky behaviour
<div class="fly-out" data-js="fly-out" data-fly-out-event-type="click-sticky">
<a href="#" class="btn btn--tertiary btn--xsmall" data-js="fly-out-toggle">
<span>Export</span><span class="icon icon--down-grey icon--down-hover-blue"></span>
</a>
<div data-js="fly-out-content" class="fly-out__content">
<nav class="nav nav--chrome">
<ul class="nav__list nav__list--chrome">
<li class="nav__list-item">
<a href="#" class="nav__link nav__link--chrome"><span class='no-wrap'><span class='icon icon--doc-grey'></span><span>.PDF</span></span></a>
</li>
</ul>
</nav>
</div>
</div>
Focus behaviour
<div class="fly-out" data-js="fly-out" data-fly-out-event-type="focus">
<a href="#" class="btn btn--tertiary btn--xsmall" data-js="fly-out-toggle">
<span>Export</span><span class="icon icon--down-grey icon--down-hover-blue"></span>
</a>
<div data-js="fly-out-content" class="fly-out__content">
<nav class="nav nav--chrome">
<ul class="nav__list nav__list--chrome">
<li class="nav__list-item">
<a href="#" class="nav__link nav__link--chrome"><span class='no-wrap'><span class='icon icon--doc-grey'></span><span>.PDF</span></span></a>
</li>
</ul>
</nav>
</div>
</div>
Hover behaviour
<div class="fly-out" data-js="fly-out" data-fly-out-event-type="hover">
<a href="#" class="btn btn--tertiary btn--xsmall" data-js="fly-out-toggle">
<span>Export</span><span class="icon icon--down-grey icon--down-hover-blue"></span>
</a>
<div data-js="fly-out-content" class="fly-out__content">
<nav class="nav nav--chrome">
<ul class="nav__list nav__list--chrome">
<li class="nav__list-item">
<a href="#" class="nav__link nav__link--chrome"><span class='no-wrap'><span class='icon icon--doc-grey'></span><span>.PDF</span></span></a>
</li>
</ul>
</nav>
</div>
</div>
Dependencies
-
src/scripts/modules/jquery.pfFlyOut.js
-
src/scripts/modules/jquery.pfHelpers.js
-
src/styles/base/*.scss
-
src/styles/components/blocks/_fly-out.scss
-
src/styles/components/blocks/_nav.scss
-
src/styles/components/elements/_icon.scss
-
src/styles/images.scss
Usage
Class/JavaScript Hook | Description | Required? |
---|---|---|
[data-js='fly-out'] and .fly-out |
Placed on outer-most tag that will contain the fly out. | Required |
[data-js='fly-out-toggle'] and .fly-out__toggle |
Placed on the tag that will open the fly out when interacted with by user. Note: .fly-out__toggle is only needed when the element is not a link. |
Required |
.fly-out__content |
Placed on the tag that wraps the fly out content. | Required |
[data-fly-out-event-type='click|click-sticky|focus|hover'] |
Placed on the tag that wraps the fly out content. Specifies the event type that opens the fly out. 'click-sticky' means the user must click on the toggle again to close it. | Required |
[data-fly-out-position='center'] |
Placed on the tag that wraps the fly out content and will force the flyout to be centered within the toggle. | Optional |