-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
70 lines (61 loc) · 2.23 KB
/
script.js
File metadata and controls
70 lines (61 loc) · 2.23 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
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
document.addEventListener('DOMContentLoaded', function() {
// Menu mobile toggle
const mobileMenuToggle = document.querySelector('.mobile-menu-toggle');
const navMenu = document.querySelector('.nav-menu');
if(mobileMenuToggle && navMenu) {
mobileMenuToggle.addEventListener('click', function() {
this.classList.toggle('active');
navMenu.classList.toggle('active');
document.body.classList.toggle('menu-open');
});
// Chiude il menu quando si clicca su un link
document.querySelectorAll('.nav-menu .nav-link').forEach(link => {
link.addEventListener('click', function() {
mobileMenuToggle.classList.remove('active');
navMenu.classList.remove('active');
document.body.classList.remove('menu-open');
});
});
}
function smoothScroll(targetId) {
if(targetId === '#') {
window.scrollTo({
top: 0,
behavior: 'smooth'
});
} else {
const targetElement = document.querySelector(targetId);
if(targetElement) {
window.scrollTo({
top: targetElement.offsetTop - 70,
behavior: 'smooth'
});
}
}
}
document.querySelectorAll('.nav-link').forEach(link => {
link.addEventListener('click', function(e) {
const targetId = this.getAttribute('href');
if(targetId.startsWith('#')) {
e.preventDefault();
smoothScroll(targetId);
}
});
});
const logoLink = document.querySelector('.logo-link');
if(logoLink) {
logoLink.addEventListener('click', function(e) {
e.preventDefault();
smoothScroll('#');
});
}
document.querySelectorAll('.hero-buttons .btn').forEach(button => {
button.addEventListener('click', function(e) {
const targetId = this.getAttribute('href');
if(targetId.startsWith('#')) {
e.preventDefault();
smoothScroll(targetId);
}
});
});
});