-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
110 lines (85 loc) · 2.21 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
const form = document.getElementById("email-form");
const email = document.getElementById("email");
const small = form.querySelector("small");
const toggle = document.getElementById("toggle");
const toggleIcon = document.getElementById("toggle-icon");
const menu = document.getElementById("menu");
let showMenu = false;
toggle.addEventListener("click", toggleMenu);
function toggleMenu() {
if (!showMenu) {
toggleIcon.src = "images/icon-close.svg";
menu.classList.add("show");
showMenu = true;
} else {
toggleIcon.src = "images/icon-hamburger.svg";
menu.classList.remove("show");
showMenu = false;
}
}
// email validation
function checkEmail(input) {
const re =
/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if (re.test(input.value.trim())) {
showSuccess();
} else {
showError("Please insert a valid email");
}
}
// show Error Message
function showError(message) {
form.classList.add("error");
small.innerText = message;
}
// show success
function showSuccess() {
form.className = "email-form";
small.innerText = "";
email.value = "";
}
// email submit
form.addEventListener("submit", function (e) {
e.preventDefault();
if (email.value != "") {
checkEmail(email);
} else {
showError("Email field is empty");
}
});
// Slideshow
let cardIndex = 1;
const cards = document.getElementsByClassName("card");
const dots = document.getElementsByClassName("dot");
showCards(cardIndex);
// dot image controls
function currentCard(n) {
showCards((cardIndex = n));
}
// cycle through cards
function nextCard() {
cardIndex++;
if (cardIndex > cards.length) {
cardIndex = 1;
}
showCards(cardIndex);
}
// show selected Card
function showCards(n) {
let i;
if (n > cards.length) {
cardIndex = 1;
}
if (n < 1) {
cardIndex = cards.length;
}
for (i = 0; i < cards.length; i++) {
cards[i].classList.remove("active-card");
}
for (i = 0; i < dots.length; i++) {
dots[i].classList.remove("active");
}
cards[cardIndex - 1].classList.add("active-card");
dots[cardIndex - 1].classList.add("active");
}
setInterval(nextCard, 15000);