-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
81 lines (74 loc) · 2.8 KB
/
index.js
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
(function(window) {
function getQueryVariable(window, variable) {
var query = window.location.search.substring(1);
var vars = query.split('&');
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split('=');
if (decodeURIComponent(pair[0]) === variable) {
return decodeURIComponent(pair[1]);
}
}
}
const startSlide = (function(window) {
if (window.location.search) {
const P = Number(getQueryVariable(window, 'p'));
return P > 6 ? 6 : P;
}
return 0;
})(window);
let horizontalSlide = startSlide;
let verticalSlide = 0;
const keyPressMap = [];
// const projects = [
// 'fortune',
// 'kana-prac',
// 'real-deal',
// 'ali-gle',
// 'pafiume-colors',
// 'browser-gimei',
// 'pafiume-cast',
// ];
const slide = (horizontal, vertical) => {
history.pushState(null, '', `?p=${horizontal}`);
if (!horizontal) history.pushState(null, '', '/');
const projects = document.getElementsByClassName('projects-container');
for (let key in projects) {
if (!/^\d+$/.test(key)) continue;
const project = projects[key];
project.style.transform = `translate(${horizontal * -100}vw, ${vertical * -100}%)`;
project.style.webkitTransform = `translate(${horizontal * -100}vw, ${vertical * -100}%)`;
project.style.MozTransform = `translate(${horizontal * -100}vw, ${vertical * -100}%)`;
project.style.OTransform = `translate(${horizontal * -100}vw, ${vertical * -100}%)`;
project.style.msTransform = `translate(${horizontal * -100}vw, ${vertical * -100}%)`;
}
}
const projects = document.getElementsByClassName('project-display');
slide(horizontalSlide, verticalSlide);
document.getElementById('slide-left').addEventListener('click', function() {
if (horizontalSlide) {
horizontalSlide -= 1;
verticalSlide = 0;
slide(horizontalSlide, verticalSlide);
console.group('left');
console.log('horizontal placement is:', horizontalSlide);
console.log('vertical placement is:', verticalSlide);
console.groupEnd();
}
});
document.getElementById('slide-right').addEventListener('click', function () {
if (horizontalSlide < projects.length - 1) {
horizontalSlide += 1;
verticalSlide = 0;
slide(horizontalSlide, verticalSlide);
console.group('right');
console.log('horizontal placement is:', horizontalSlide);
console.log('vertical placement is:', verticalSlide);
console.groupEnd();
};
});
window.addEventListener('keyup', (event) => {
if (event.keyCode === 37) document.getElementById('slide-left').click();
else if (event.keyCode === 39) document.getElementById('slide-right').click();
// else if (event.keyCode === 38 || event.keyCode === 40) $('#slide-info').click();
});
})(window);