-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
35 lines (30 loc) · 1.2 KB
/
script.js
File metadata and controls
35 lines (30 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
document.querySelectorAll('.dropdown').forEach(dropdown => {
dropdown.addEventListener('click', e => {
e.currentTarget.classList.toggle('open');
});
});
const slider = document.querySelector('.slider-content');
const nbLanguages = document.querySelectorAll('.slider-content .card').length;
let i = 0;
let changeInProgress = false;
setInterval(() => {
if(changeInProgress) {
changeInProgress = false;
return ;
}
let nbDisplayedLanguages = window.innerWidth > 768 ? 4 : 2;
i = (i < nbLanguages - nbDisplayedLanguages) ? i+1 : 0;
slider.style.transform = 'translateX(-' + (248 * i) + 'px)';
}, 2000);
document.querySelector('#left').addEventListener('click', () => {
changeInProgress = true;
let nbDisplayedLanguages = window.innerWidth > 768 ? 4 : 2;
i = i > 0 ? i - 1 : (nbLanguages - nbDisplayedLanguages);
slider.style.transform = 'translateX(-' + (248 * i) + 'px)';
});
document.querySelector('#right').addEventListener('click', () => {
changeInProgress = true;
let nbDisplayedLanguages = window.innerWidth > 768 ? 4 : 2;
i = (i < nbLanguages - nbDisplayedLanguages) ? i+1 : 0;
slider.style.transform = 'translateX(-' + (248 * i) + 'px)';
});