Skip to content

Commit aea92f7

Browse files
Merge pull request #1708 from Vatsalmadhur/madhur_universityLandingPage
Added UniversityLandingPage
2 parents 413c0ff + 68d7b5d commit aea92f7

8 files changed

Lines changed: 906 additions & 0 deletions

File tree

6 KB
Binary file not shown.
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
* {
2+
margin: 0;
3+
padding: 0;
4+
box-sizing: border-box;
5+
}
6+
7+
body {
8+
height: 100vh;
9+
display: grid;
10+
place-items: center;
11+
}
12+
13+
.slider {
14+
width: 100%;
15+
max-width: 800px;
16+
height: 350px;
17+
position: relative;
18+
/* overflow: hidden; <=== */
19+
border-radius: 15px;
20+
margin: 20px 10px;
21+
}
22+
23+
.slide {
24+
width: 100%;
25+
max-width: 800px;
26+
height: 350px;
27+
position: absolute;
28+
transition: all 0.5s;
29+
border-radius: 15px;
30+
padding: 10px;
31+
}
32+
33+
.slide img {
34+
width: 100%;
35+
height: 100%;
36+
object-fit: cover;
37+
}
38+
39+
.btn {
40+
position: absolute;
41+
width: 40px;
42+
height: 40px;
43+
padding: 10px;
44+
border: none;
45+
border-radius: 50%;
46+
z-index: 10px;
47+
cursor: pointer;
48+
background-color: #fff;
49+
font-size: 18px;
50+
}
51+
.btn:active {
52+
transform: scale(1.1);
53+
}
54+
.btn-prev {
55+
top: 45%;
56+
left: 2%;
57+
}
58+
59+
.btn-next {
60+
top: 45%;
61+
right: 2%;
62+
}
63+
* {
64+
margin: 0;
65+
padding: 0;
66+
box-sizing: border-box;
67+
}
68+
69+
body {
70+
height: 100vh;
71+
display: grid;
72+
place-items: center;
73+
}
74+
75+
.slider {
76+
width: 100%;
77+
max-width: 800px;
78+
height: 350px;
79+
position: relative;
80+
overflow: hidden; /* <=== */
81+
border-radius: 15px;
82+
}
83+
84+
.slide {
85+
width: 100%;
86+
max-width: 800px;
87+
height: 350px;
88+
position: absolute;
89+
transition: all 0.5s;
90+
}
91+
92+
.slide img {
93+
width: 100%;
94+
height: 100%;
95+
object-fit: cover;
96+
}
97+
98+
.btn {
99+
position: absolute;
100+
width: 40px;
101+
height: 40px;
102+
padding: 10px;
103+
border: none;
104+
border-radius: 50%;
105+
z-index: 10px;
106+
cursor: pointer;
107+
background-color: #fff;
108+
font-size: 18px;
109+
}
110+
.btn:active {
111+
transform: scale(1.1);
112+
}
113+
.btn-prev {
114+
top: 45%;
115+
left: 2%;
116+
}
117+
118+
.btn-next {
119+
top: 45%;
120+
right: 2%;
121+
}
122+
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
// Select all slides
2+
const slides = document.querySelectorAll(".slide");
3+
4+
// loop through slides and set each slides translateX
5+
slides.forEach((slide, indx) => {
6+
slide.style.transform = `translateX(${indx * 100}%)`;
7+
});
8+
9+
// select next slide button
10+
const nextSlide = document.querySelector(".btn-next");
11+
12+
// current slide counter
13+
let curSlide = 0;
14+
// maximum number of slides
15+
let maxSlide = slides.length - 1;
16+
17+
// add event listener and navigation functionality
18+
nextSlide.addEventListener("click", function () {
19+
// check if current slide is the last and reset current slide
20+
if (curSlide === maxSlide) {
21+
curSlide = 0;
22+
} else {
23+
curSlide++;
24+
}
25+
26+
// move slide by -100%
27+
slides.forEach((slide, indx) => {
28+
slide.style.transform = `translateX(${100 * (indx - curSlide)}%)`;
29+
});
30+
});
31+
32+
// select next slide button
33+
const prevSlide = document.querySelector(".btn-prev");
34+
35+
// add event listener and navigation functionality
36+
prevSlide.addEventListener("click", function () {
37+
// check if current slide is the first and reset current slide to last
38+
if (curSlide === 0) {
39+
curSlide = maxSlide;
40+
} else {
41+
curSlide--;
42+
}
43+
44+
// move slide by 100%
45+
slides.forEach((slide, indx) => {
46+
slide.style.transform = `translateX(${100 * (indx - curSlide)}%)`;
47+
});
48+
});
444 Bytes
Loading

0 commit comments

Comments
 (0)