-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathproject.js
89 lines (61 loc) · 2.06 KB
/
project.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
82
83
84
85
86
87
88
89
const buttoncontainer = document.getElementById("button_container");
const contact = document.getElementById("contact_button");
const container = document.getElementById("container");
const anim = document.getElementById("anim");
let hrefscontainer = document.getElementById("hrefscontainer");
const Abutton = document.getElementsByClassName("button")[2];
let ButtonLocation = Abutton.getBoundingClientRect();
let locations = Abutton.getBoundingClientRect();
let interval;
document.addEventListener("mouseover", function(event){
if(container.contains(event.target) && !anim.contains(event.target)){
if(interval !== undefined) {clearInterval(interval);}
anim.classList.add("none");
}
let hrefscontainer = document.querySelectorAll("#hrefscontainer a");
function elementsOverlap(el1, el2) {
const domRect1 = el1.getBoundingClientRect();
const domRect2 = el2.getBoundingClientRect();
let greater = !(
domRect1.top > domRect2.top
);
if(greater === true){
return {greater:greater};
}
let less = !(
domRect1.bottom < domRect2.top
);
return {greater:greater, less:less};
}
let hrefs = buttoncontainer.getElementsByClassName("button");
hrefs = Array.from(hrefs);
setInterval(function() {
hrefs.forEach((element,index2) => {
let result = elementsOverlap(element,contact);
if(result.greater === true){
hrefscontainer.forEach((items, index) => {
if(items.children[0] === element){
items.classList.remove("none");
}
});
}
});
hrefs.forEach(element => {
let result = elementsOverlap(element,contact);
if(result.less !== undefined){
if(result.less === true){
hrefscontainer.forEach(items => {
if(items.children[0] === element){
items.classList.add("none");
}
});
}
}
});
}, 10);
});
container.addEventListener("mouseleave", function(event){
interval = setTimeout(() => {
anim.classList.remove("none");
}, 1500);
});