-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
140 lines (102 loc) · 3.71 KB
/
script.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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
let ul = document.querySelector('.ul');
let btn = document.querySelector('.toggle');
// the menu
btn.addEventListener('click', function () {
btn.classList.toggle('btn');
ul.classList.toggle('show');
});
window.addEventListener('scroll', function () {
var header = document.querySelector('header');
if (window.scrollY >= 400) {
header.style.position = 'fixed';
header.style.backgroundColor = '#473E66';
header.style.color = '#F5D7DB'
header.style.zIndex = '10';
header.style.width = '100%';
} else {
header.style.position = 'relative';
header.style.backgroundColor = 'transparent';
header.style.zIndex = '10';
header.style.width = '100%';
header.style.color = 'black';
}
});
window.addEventListener('scroll', function () {
var header = document.querySelector('.dark-mode header');
if (window.scrollY >= 400) {
header.style.position = 'fixed';
header.style.backgroundColor = '#06142E';
header.style.color = '#F5D7DB'
header.style.zIndex = '10';
header.style.width = '100%';
} else {
header.style.position = 'relative';
header.style.backgroundColor = 'transparent';
header.style.zIndex = '10';
header.style.width = '100%';
// header.style.color = '#F5D7DB'
}
});
let isMenuOpen = false;
// Função para fechar o menu hamburguer
function closeMenu() {
btn.classList.remove('btn');
ul.classList.remove('show');
isMenuOpen = false;
}
// Adicionar event listener para fechar o menu ao clicar fora dele
document.addEventListener('click', function(event) {
const isClickInsideMenu = ul.contains(event.target);
const isClickOnBtn = btn.contains(event.target);
if (!isClickInsideMenu && !isClickOnBtn && isMenuOpen) {
closeMenu();
}
});
// Função da tela de introdução do portfólio
function turnOnLight() {
document.getElementById('overlay').style.display = 'none';
document.getElementById('content').style.display = 'block';
// Ative o Scroll Reveal após o conteúdo ser revelado
activateScrollReveal();
}
// Função para ativar o efeito de Scroll Reveal
function activateScrollReveal() {
window.sr = ScrollReveal({ reset: true });
sr.reveal('.section', { duration: 1200 });
sr.reveal('.tech', { duration: 1000 });
sr.reveal('.soft', { duration: 1000 });
sr.reveal('.projetos-container', { duration: 2000 });
sr.reveal('.contact', { duration: 1000 });
}
// Animação da frase escrita
var typed = new Typed('.typing', {
strings: [
'Carpe diem:',
'"Aproveite o dia e deixe o mínimo possível para o amanhã."',
],
typeSpeed: 50, // velocidade de digitação
backSpeed: 20, // velocidade de retrocesso
startDelay: 800, // atraso antes de começar a digitar
smartBackspace: true, // retrocesso inteligente - retrocede apenas para o último ponto de conclusão de uma palavra
loop: true, // loop da animação
});
var typed2 = new Typed('.typing2', {
strings: [
'Henrike Pajares Braga',
'Desenvolvedor Full Stack',
],
typeSpeed: 40,
backSpeed: 40,
startDelay: 100,
smartBackspace: true,
loop: true,
});
// script do popup
// utilizado video como referencia de GreatStack - How To Make A Popup Using HTML, CSS And JavaScript | Create a Modal Box in HTML Websit
let popup = document.getElementById("popup");
function openPopup(){
popup.classList.add("open-popup")
}
function closePopup(){
popup.classList.remove("open-popup")
}