JSFiddle - React, Tailwind, and code Playground
HTML
<div class="product-type">
<ul>
<li class="slide__title selected">Cars</li>
<li class="slide__title" >Motorcycles</li>
<li class="slide__title">Power Equiptment</li>
<li class="slide__title">Marine</li>
</ul>
</div>
<ul id="slides">
<li class="slide cars"></li>
<li class="slide bikes"></li>
<li class="slide mower"></li>
<li class="slide boat"></li>
</ul>
SCSS
/*
essential styles:
these make the slideshow work
*/
.corporatelanding {
position: relative;
height: 100%;
width: 100%;
overflow: hidden;
}
.right-slide {
position: absolute;
top: 0;
right:0;
height: 100vh;
z-index:1000;
background-color: #fff;
transition: all 1s;
left: 98%;
.content {
opacity: 0;
transition: all 1s;
width: 80%;
margin-left: auto;
margin-right: auto;
min-width: 500px;
margin-top: 500px;
}
&:hover {
left: 60px;
.content {
opacity: 1;
transition-delay: .5s;
margin-top: 200px;
}
}
}
#slides {
position: relative;
padding: 0px;
margin: 0px;
list-style-type: none;
height: 100vh;
}
.slide {
position: absolute;
left: 0px;
top: 0px;
bottom: 0;
right: 0;
opacity: 0;
z-index: 1;
-webkit-transition: opacity 5s;
-moz-transition: opacity 5s;
-o-transition: opacity 5s;
transition: opacity 5s;
transition-delay: 2s;
background-repeat: no-repeat;
background-size: cover;
content: " ";
&.cars {
background-image: url("http://www.honda.com.au/content/dam/honda/galleries/homepage/Honda-Civic-Landing.jpg");
background-color: #333;
}
&.bikes {
background-image: url("http://www.honda.com.au/content/dam/honda/galleries/homepage/Jet.jpg");
background-color: #ccc;
}
&.mower {
background-image: url("http://www.honda.com.au/content/dam/honda/galleries/homepage/Lawnmower.jpg");
background-color: #cec;
}
&.boat {
background-image: url("http://www.honda.com.au/content/dam/honda/galleries/homepage/Boat.jpg");
background-color: #fff;
}
}
.showing {
opacity: 1;
z-index: 2;
transition: opacity 2s;
color: white!important;
}
.selected {
color: white!important;
}
.product-type {
position: absolute;
top: 20%;
color: white;
font-size: 60px;
font-weight: bold;
z-index: 4;
left: 10%;
ul {
margin: 0;
padding: 0;
width: 100%;
height: 100%
}
li {
list-style-type: none;
margin:...
JavaScript
var slide_titles = document.querySelectorAll('.slide__title');
var slide_background = document.querySelectorAll('.slide');
function removeSelected() {
for(var i = 0; i < slide_titles.length; i++) {
if(slide_titles[i].className.indexOf('selected') != -1) {
console.log("remove");
slide_titles[i].classList.remove("selected");
}
}
}
var clickEvent = function(index) {
slide_titles[index].addEventListener("click", () => {
removeSelected();
slide_background[index].classList.add("show");
slide_titles[index].classList.add("selected");
console.log(slide_background[index]);
});
}
for(var i = 0; i < slide_titles.length; i++) {
clickEvent(i);
}