Responsive menu carousel
by zerrax
HTML
<div class="carousel" >
<ul>
<li>
<div>
<a>Mr Robot</a>
<ul id="star-rating">
<li class="rated">1</li>
<li class="rated">2</li>
<li class="rated">3</li>
<li>4</li>
<li>5</li>
</ul>
<a>2012</a>
<div>
<p>
“Proven Innocent” racconta la storia emotiva della lotta di una donna per dimostrare l’innocenza di persone condannate ingiustamente. Il dramma legale segue una sfortunata società di difesa criminale guidata da un avvocato feroce e intransigente, Madeline Scott, che è stato ingiustamente condannato in un caso di omicidio sensazionale che l’ha resa una famigerata ossessione mediatica. Madeline gestisce lo studio legale con il suo socio, Easy Boudreau, l’avvocato che l’ha aiutata a liberarsi dopo 10 anni di carcere. Il loro team comprende anche l’investigatore Bodie Quick e il direttore delle comunicazioni Violet Price, che gestisce un vero podcast criminale che segue ogni indagine.
</p>
</div>
<span><a href="google.fr"></a></span>
</div>
</li>
<li>B</li>
<li>C</li>
<li class="hid">Agtrgtrtrhtrhtrh</li>
<li class="hid">Bdddd</li>
<li class="hid">Cddddd</li>
</ul>
<div class="">
<button onclick="next(this)" type="button"> </button>
</div>
</div>
CSS
body {
padding: 20px;
font-family: Helvetica;
background-color: #20262e;
}
.carousel ul + div{
text-align:center;
}
.carousel > ul {
display: flex;
padding:20px;
grid-gap: 10px;
}
.carousel > ul > li {
flex: 1;
background-color: #fff;
border-radius: 3px;
padding: 20px;
font-size: 14px;
float:left;
text-align: center;
border: 2px solid #FFF;
background: #DDD;
border-radius: 3px;
font-size: 14px;
height:200px;
position:relative;
background-position: center;
background-repeat: no-repeat;
background-image:url(https://pictures.betaseries.com/fonds/banner/6622_1415360495.jpg);
background-size: 100% 100%;
-webkit-transition: all 1s; /* Safari */
transition: all 1s;
color:#fff;
}
.carousel > ul > li:hover {
flex: 3;
z-index: 1;
height:250px;
margin-top:-25px;
}
.hid {
display:none;}
.info {
text-align: center;
font-size: 13px;
padding-top: 20px;
color: #fff;
}
.carousel > ul > li > div{
opacity:0;
position: absolute;
top:0;
bottom:0;
left:0;
right:0;
background-color:rgba(0,0,0,0.8);
border-radius: 5px;
padding:5px;
-webkit-transition: opacity 0.7s; /* Safari */
transition: opacity 0.7s;
text-align:left;
}
#star-rating {
display:block;
position: absolute;
top:5px;
text-align: center;
right:5px;
padding:0;
margin:0;
}
#star-rating li {
display: inline;
color: transparent;
margin:0;
padding:0;
}
#star-rating li:after {
content: '\2605';
color: #888;
padding-right: 1px;
font-size: 1.2em
}
#star-rating li.rated:after {
content: '\2605';
color: #dd0;
padding-right: 1px;
}
.carousel > ul > li > div > span {
background-image: url(https://www.serietvu.club/wp-content/themes/gurarjbar/images/play.svg);
background-size: contain;
width: 3em;
height: 3em;
position: absolute;
left: calc(50% - 1.5em);
top: calc(50% - 4.5em);
cursor:pointer;
opacity:0.3;
-webkit-transition: opacity 0.5s; /* Safari */
...
JavaScript
function next(a)
{
var el = a.parentElement.parentElement.childNodes;
el.forEach(function(element)
{
if(element.nodeName == "UL")
{
var arr = [];
element.childNodes.forEach(function(elements)
{
if(elements.nodeName == "LI")
{
arr.push(elements);
}
});
for(var r = 0; r < arr.length; r++)
{
if(arr[r].className == "hid")
{
if(r >= 3)
{
arr[r].className = "";
arr[r-3].className = "hid";
throw new Error("");
}
}
}
for(var r = 0; r < arr.length; r++)
{
if(arr[r].className == "hid")
{
arr[r].className = "";
}
else
{
arr[r].className = "hid";
}
}
}
else
{
}
});
}