J'ai mis ensemble THIS le curseur codepen (carrousel) qui utilise le légendes comme contrôles, à l'aide du plugin Flickity, avec ces 2 options:
var flkty = new Flickity(".carousel", {
pageDots: false,
wrapAround: true
});
Remarque: le curseur contient des vidéos, des images non.
J'ai besoin d'une transition similaire au transition entre stores qu'avait antoni.de carrousel.
Des questions:
La version de code du carrousel est ICI.
UPDATE: J'ai ajouté un réponse partielle. Comme je le dis dans la réponse, j'aimerais pouvoir utiliser le les vidéos elles-mêmes pour la transition.
Je ne suis pas sûr que vous souhaitiez que quelque chose soit prêt ou que vous souhaitiez modifier votre curseur.
Mais nous pouvons éditer n’importe quel curseur
DIV
qui contient trois autres DIVs
sur le curseur.<div class="animateNextImage"> <div></div> <div></div> <div></div> </div>
background-image
sur chacune de ces trois DIVs
.$ (". animateNextImage div"). css ('background-image', "url ('" + nextActiveImg + "')");
Commencez ensuite à animer chaque arrière-plan pour réaliser l'animation souhaitée.
.animateNextImage div{
width: 33.3333%;
float:left;
height: 100%;
background-repeat: no-repeat;
background-size: cover;
background-position: -100% 0%;
transition: background-position 0.5s ease;
}
.animateNextImage.active div:nth-child(1){
transition-delay: 0.4s;
background-position: 0% 0%;
}
.animateNextImage.active div:nth-child(2){
transition-delay: 0.2s;
background-position: 50% 0%;
}
.animateNextImage.active div:nth-child(3){
background-position: 100% 0%;
}
Voir la démo ici: https://jsfiddle.net/IA7medd/odv4cshm/28/
Jusqu'à présent j'ai fait ce qui suit:
Mon HTML:
<div id="full_slider" class="carousel">
<div class="item">
<div class="bg">
<video muted loop autoplay>
<source type="video/mp4" src="video/eroi.mp4"></source>
</video>
<div class="photo"><img src="img/agentie_full_service.png" alt="Agentie full-service"></div>
<div class="cover">
<div class="third"></div>
<div class="third"></div>
<div class="third"></div>
</div>
</div>
<div class="content">
<h1>Lorem ipsum dolor</h1>
</div>
</div>
<div class="item">
<div class="bg">
<video muted loop autoplay>
<source type="video/mp4" src="video/meda.mp4"></source>
</video>
<div class="photo"><img src="img/strategeie_de_brand.png" alt="Strategie de brand"></div>
<div class="cover">
<div class="third"></div>
<div class="third"></div>
<div class="third"></div>
</div>
</div>
<div class="content">
<h1>Lorem ipsum dolor</h1>
</div>
</div>
</div>
Mon CSS:
#full_slider .item .bg .cover {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
opacity: 1;
transition: opacity 0.2s 1s ease;
}
#full_slider .item .bg .cover div {
position: absolute;
top: 0;
width: 33.3333%;
height: 100%;
background-repeat: no-repeat;
background-size: cover;
background-position: -100% 0%;
transition: background-position 0.5s ease;
}
#full_slider .item.is-selected .cover {
opacity: 0;
}
#full_slider .item.is-selected .cover > div:nth-child(1) {
left: 0;
transition-delay: 0.5s;
background-position: 0% 0%;
}
#full_slider .item.is-selected .cover > div:nth-child(2) {
left: 33.3333%;
transition-delay: 0.25s;
background-position: 50% 0%;
}
#full_slider .item.is-selected .cover > div:nth-child(3) {
left: 66.6666%;
background-position: 100% 0%;
}
Mon jQuery:
$('#full_slider').find('.photo').each(function(){
var imgContainer = $(this),
bkImg = imgContainer.find('img').attr('src');
imgContainer.next().find('div').css("background-image", 'url("'+ bkImg +'")');
});
Le résultat de ce code peut être vuici.
Je souhaite ne pas avoir à utiliser les images comme "jaquettes" pour les vidéos, j'aimerais pouvoir utiliser les vidéos elles-mêmes pour la transition. Je cherche un effet commecelui-ci.
Je ne suis pas sûr que ce curseur, mais, j'ai une autre solution pour le curseur aveugle. Reportez-vous au plugin ci-dessous pour cela.
solution-1: https://github.com/stathisg/blindify