Add logo animation to gallery page
This commit is contained in:
parent
0d52c5dd04
commit
9cd82101c8
3 changed files with 53 additions and 27 deletions
File diff suppressed because one or more lines are too long
|
@ -8,11 +8,11 @@ import Splide from '@splidejs/splide';
|
|||
|
||||
const body = document.body;
|
||||
|
||||
// SLIDER
|
||||
// SPLIDE SLIDER
|
||||
|
||||
let splide = document.querySelector('.splide');
|
||||
let splideSlider = document.querySelector('.splide');
|
||||
|
||||
// IFRAME LOADING ANIMATIONS
|
||||
// EXHIBITION IFRAME
|
||||
|
||||
const sidebar = document.querySelector('.sidebar');
|
||||
const sidebarNavLinks = document.querySelectorAll('.sidebar__nav-link--internal');
|
||||
|
@ -36,11 +36,11 @@ function convertRemToPixels(rem) {
|
|||
return rem * fontSize;
|
||||
}
|
||||
|
||||
// SLIDER
|
||||
// SPLIDE SLIDER
|
||||
|
||||
function setUpSlider() {
|
||||
if (splide) {
|
||||
splide = new Splide('.splide', {
|
||||
if (splideSlider) {
|
||||
splideSlider = new Splide('.splide', {
|
||||
type: 'fade',
|
||||
rewind: true,
|
||||
rewindByDrag: true,
|
||||
|
@ -57,15 +57,13 @@ function setUpSlider() {
|
|||
}
|
||||
|
||||
function goToNextSlideOnClick() {
|
||||
if (splide) {
|
||||
splide.on('click', function(e) {
|
||||
splide.go('>');
|
||||
if (splideSlider) {
|
||||
splideSlider.on('click', function(e) {
|
||||
splideSlider.go('>');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// IFRAME LOADING ANIMATIONS
|
||||
|
||||
function enableLogoIconRotation() {
|
||||
if (logoIcon) {
|
||||
logoIcon.classList.add('logo__icon--rotate-horizontal-bottom');
|
||||
|
@ -78,6 +76,20 @@ function disableLogoIconRotation() {
|
|||
}
|
||||
}
|
||||
|
||||
function rotateLogoOnSliderMove() {
|
||||
if (splideSlider && logoIcon) {
|
||||
splideSlider.on('move', function(e) {
|
||||
logoIcon.removeEventListener('animationiteration', disableLogoIconRotation);
|
||||
enableLogoIconRotation();
|
||||
});
|
||||
splideSlider.on('moved', function(e) {
|
||||
logoIcon.addEventListener('animationiteration', disableLogoIconRotation);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// EXHIBITION IFRAME
|
||||
|
||||
function slimDownSidebar() {
|
||||
if (sidebar && !sidebar.classList.contains('sidebar--slimmed')) {
|
||||
sidebar.classList.add('sidebar--slimmed');
|
||||
|
@ -134,11 +146,12 @@ function loadExhibitionIframe() {
|
|||
|
||||
enableActivePseudoClass();
|
||||
|
||||
// SLIDER
|
||||
// SPLIDE SLIDER
|
||||
|
||||
setUpSlider();
|
||||
goToNextSlideOnClick();
|
||||
rotateLogoOnSliderMove();
|
||||
|
||||
// IFRAME LOADING ANIMATIONS
|
||||
// EXHIBITION IFRAME
|
||||
|
||||
loadExhibitionIframe();
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<header>
|
||||
|
||||
<div class="logo">
|
||||
<a class="logo__link" href="{{ homePage.url }}" target="_self" aria-label="Go to {{ site.title }}'s home page">
|
||||
<a class="logo__link" href="{{ homePage.url }}" target="_self" aria-label="Go to {{ site.title }}'s gallery page">
|
||||
<svg class="logo__icon" aria-hidden="true" viewBox="0 0 3814 1912" xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="matrix(1, 0, 0, -1, 1426.537109, 1153.771606)">
|
||||
<path style="fill:none;stroke:currentColor;stroke-width:93.54299927;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" d="m 0,0 c -290.833,17.312 -697.633,-243.443 -961.355,-441.732 -463.22,-348.289 -491.716,-401.405 -327.464,98.265 42.11,128.104 133.935,713.436 134.825,1065.798 1.49,589.899 147.634,423.095 319.826,16.386 C -107.247,-978.225 558.099,-596.729 789.55,-160.404 800.123,-140.473 836,-55 836,-55 c 0,0 25.705,-95.875 94.192,-196.312 C 1081.909,-473.805 1640,-308 1770,-260 c 53.364,19.704 261,-145 571,-221"/>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue