refresh formes pos on window resize
This commit is contained in:
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,8 +1,8 @@
|
|||||||
import { createApp } from 'vue'
|
// import { createApp } from 'vue'
|
||||||
import '../scss/main.scss'
|
import '../scss/main.scss'
|
||||||
import Content from './vuejs/Content.vue'
|
// import Content from './vuejs/Content.vue'
|
||||||
|
|
||||||
import REST from './api/rest-axios'
|
// import REST from './api/rest-axios'
|
||||||
|
|
||||||
// import LocomotiveScroll from 'locomotive-scroll';
|
// import LocomotiveScroll from 'locomotive-scroll';
|
||||||
// const scroll = new LocomotiveScroll();
|
// const scroll = new LocomotiveScroll();
|
||||||
@@ -50,6 +50,7 @@ gsap.registerPlugin(ScrollTrigger, ScrollSmoother);
|
|||||||
|
|
||||||
let sizes = [];
|
let sizes = [];
|
||||||
|
|
||||||
|
let cardsForms = [];
|
||||||
|
|
||||||
// ___ _ _
|
// ___ _ _
|
||||||
// |_ _|_ _ (_) |_
|
// |_ _|_ _ (_) |_
|
||||||
@@ -93,6 +94,14 @@ gsap.registerPlugin(ScrollTrigger, ScrollSmoother);
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onWindowResize() {
|
||||||
|
cardsForms.forEach(({card, forme, formepos}) => {
|
||||||
|
// console.log(`card`, card, 'forme', forme, 'formepos', formepos);
|
||||||
|
forme.style.top = `${card.offsetTop + formepos.top}px`;
|
||||||
|
forme.style.left = `${card.offsetLeft + formepos.left}px`;
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
async function initBgFormes(){
|
async function initBgFormes(){
|
||||||
const container = document.querySelector('main[role="main"] > .layout-content > .wrapper');
|
const container = document.querySelector('main[role="main"] > .layout-content > .wrapper');
|
||||||
// console.log('container', container);
|
// console.log('container', container);
|
||||||
@@ -111,7 +120,10 @@ gsap.registerPlugin(ScrollTrigger, ScrollSmoother);
|
|||||||
let oddeven=1;
|
let oddeven=1;
|
||||||
for (const card of cards) {
|
for (const card of cards) {
|
||||||
// console.log('card', card);
|
// console.log('card', card);
|
||||||
|
let cardFormObject = {
|
||||||
|
card: card
|
||||||
|
};
|
||||||
|
|
||||||
// random forme
|
// random forme
|
||||||
// avoid duplicated formes
|
// avoid duplicated formes
|
||||||
let n = Math.round(Math.random() * (formesclasses.length -1));
|
let n = Math.round(Math.random() * (formesclasses.length -1));
|
||||||
@@ -125,6 +137,19 @@ gsap.registerPlugin(ScrollTrigger, ScrollSmoother);
|
|||||||
|
|
||||||
container.prepend(forme);
|
container.prepend(forme);
|
||||||
|
|
||||||
|
cardFormObject.forme = forme;
|
||||||
|
|
||||||
|
// register relative position of forme against card
|
||||||
|
cardFormObject.formepos = {
|
||||||
|
left: forme.offsetLeft - card.offsetLeft,
|
||||||
|
top: forme.offsetTop - card.offsetTop
|
||||||
|
}
|
||||||
|
|
||||||
|
// register cards and formes
|
||||||
|
cardsForms.push(cardFormObject);
|
||||||
|
// console.log('cardsForms', cardsForms);
|
||||||
|
|
||||||
|
|
||||||
// Snap au centre de la fenêtre pour la card en utilisant le plugin Snap de GSAP
|
// Snap au centre de la fenêtre pour la card en utilisant le plugin Snap de GSAP
|
||||||
// ScrollTrigger.create({
|
// ScrollTrigger.create({
|
||||||
// trigger: document.querySelector('.partie-principes-pratique'),
|
// trigger: document.querySelector('.partie-principes-pratique'),
|
||||||
@@ -210,9 +235,13 @@ gsap.registerPlugin(ScrollTrigger, ScrollSmoother);
|
|||||||
|
|
||||||
// inverse oddeven
|
// inverse oddeven
|
||||||
oddeven*=-1;
|
oddeven*=-1;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
window.addEventListener('resize', onWindowResize);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
async function createForme(card, n){
|
async function createForme(card, n){
|
||||||
let forme = document.createElement('div');
|
let forme = document.createElement('div');
|
||||||
forme.classList.add('bg-forme');
|
forme.classList.add('bg-forme');
|
||||||
|
|||||||
@@ -417,6 +417,7 @@ main[role="main"]{
|
|||||||
// transform: translateY(-3em);
|
// transform: translateY(-3em);
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top:-1em;
|
top:-1em;
|
||||||
|
font-size: 1.2em;
|
||||||
&>*{
|
&>*{
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user