j'ai essayé de décortiquer la logique du code via le bouton inspecter le code, des jeux de translation ont été faite mais je comprend pas comment ils ont fait pour faire revenir la dernière image en première position.
import { Component, OnInit } from '@angular/core';
import { Picture } from '../models/picture.model';
@Component({
selector: 'app-carousel',
templateUrl: './carousel.component.html',
styleUrls: ['./carousel.component.css']
})
export class CarouselComponent implements OnInit {
innerWidth: number = 0;
innerHeight: number = 0;
pictures: Picture [] = [];
constructor() { }
ngOnInit() {
var picture = new Picture();
picture.fd = 'https://i.officeriders.com/ii5759623bi61b4i47efi8289i3fd268836832-*-480-jpg.jpg';
this.pictures.push(picture);
picture = new Picture();
picture.fd = 'https://i.officeriders.com/ii5759623ci9528i4051ibfd1i3fd268836832-*-480-jpg.jpg';
this.pictures.push(picture);
picture = new Picture();
picture.fd = 'https://i.officeriders.com/cbqLmYutHjhQYFEHL-*-480-jpg.jpg';
this.pictures.push(picture);
picture = new Picture();
picture.fd = 'https://i.officeriders.com/ii5759623cic2a4i440di9bf9i3fd268836832-*-480-jpg.jpg';
this.pictures.push(picture);
for(var i = 0;i<this.pictures.length;i++) {
this.pictures[i].x = (i - 1) * 750;
}
this.innerWidth = window.innerWidth;
this.innerHeight = window.innerHeight;
}
ontransitionstart(event,picture: Picture): void {
console.log('ontransitionstart');
}
ontransitionrun(event,picture: Picture): void {
console.log('ontransitionrun');
}
ontransitioned(event,picture: Picture): void {
console.log('ontransitioned');
console.log(picture);
}
previous(event): void {
console.log('previous');
var n = this.pictures.length;
var picture = new Picture();
picture.fd = this.pictures[n - 1].fd;
this.pictures.splice(n-1,1);
this.pictures.unshift(picture);
for(var i = 0;i<n;i++) {
this.pictures[i].x = (i - 1) * 750;
}
}
next(event): void {
console.log('next');
var n = this.pictures.length;
var picture = new Picture();
picture.fd = this.pictures[0].fd;
this.pictures.push(picture);
this.pictures.splice(0,1);
for(var i = 0;i<n;i++) {
this.pictures[i].x = (i - 1) * 750;
}
}
}
[CSS] carousel
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
la connaissance est une chose qui ne nous appauvrit pas quand on la partage.
Mon GitHub