accordeon qui fonctionne \o/
This commit is contained in:
parent
853e03302c
commit
30bd124835
66
films.html
66
films.html
|
@ -21,68 +21,10 @@
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
</section>
|
</section>
|
||||||
<div class='accordeon'>
|
|
||||||
<div class='accordeon_item'>
|
<section id="resultats" class="accordeon">
|
||||||
<div id="1" class='accordeon_item_header'>
|
|
||||||
<h2 class="titres"></h2>
|
</section>
|
||||||
<p>(Cliquez ici pour étendre)</p>
|
|
||||||
</div>
|
|
||||||
<div class="accordeon_item_body">
|
|
||||||
<div class="accordeon_item_body_content">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class='accordeon_item'>
|
|
||||||
<div id="2" class='accordeon_item_header'>
|
|
||||||
<h2 class="titres"></h2>
|
|
||||||
<p>(Cliquez ici pour étendre)</p>
|
|
||||||
</div>
|
|
||||||
<div class="accordeon_item_body">
|
|
||||||
<div class="accordeon_item_body_content">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class='accordeon_item'>
|
|
||||||
<div id="3" class='accordeon_item_header'>
|
|
||||||
<h4>Return of the Jedi</h4>
|
|
||||||
<p>(Cliquez ici pour étendre)</p>
|
|
||||||
</div>
|
|
||||||
<div class="accordeon_item_body">
|
|
||||||
<div class="accordeon_item_body_content">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class='accordeon_item'>
|
|
||||||
<div id="4" class='accordeon_item_header'>
|
|
||||||
<h4>The Phantom Menace</h4>
|
|
||||||
<p>(Cliquez ici pour étendre)</p>
|
|
||||||
</div>
|
|
||||||
<div class="accordeon_item_body">
|
|
||||||
<div class="accordeon_item_body_content">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="5" class='accordeon_item'>
|
|
||||||
<div class='accordeon_item_header'>
|
|
||||||
<h4>Attack of the Clones</h4>
|
|
||||||
<p>(Cliquez ici pour étendre)</p>
|
|
||||||
</div>
|
|
||||||
<div class="accordeon_item_body">
|
|
||||||
<div class="accordeon_item_body_content">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class='accordeon_item'>
|
|
||||||
<div id="6" class='accordeon_item_header'>
|
|
||||||
<h4>Revenge of the Sith</h4>
|
|
||||||
<p>(Cliquez ici pour étendre)</p>
|
|
||||||
</div>
|
|
||||||
<div class="accordeon_item_body">
|
|
||||||
<div class="accordeon_item_body_content">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="image-films"></div>
|
<div class="image-films"></div>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
|
|
|
@ -1,68 +1,32 @@
|
||||||
const { div } = require("prelude-ls");
|
import { api_call } from './util';
|
||||||
|
|
||||||
const FILMS = document.getElementsByClassName('accordeon');
|
const films = document.getElementById("resultats");
|
||||||
const VAISSEAUX = document.getElementById('vaisseaux-films');
|
|
||||||
const ESPECES = document.getElementById('especes-films');
|
|
||||||
const TITRE = document.getElementsByClassName('titres');
|
|
||||||
console.log(FILMS);
|
|
||||||
|
|
||||||
const API_URL = "https://swapi.dev/api/films/";
|
|
||||||
fetch(API_URL + target.id)
|
|
||||||
.then((response) => { // retourne une reponse
|
|
||||||
console.log(response);
|
|
||||||
return response.json(); // sous format json
|
|
||||||
})
|
|
||||||
.then(afficherFilms => { // on affiche ensuite les films
|
|
||||||
const EPISODES = afficherFilms; // on déclare qu'un épisode est toujours la fonction avec sa boucle
|
|
||||||
console.log(EPISODES);
|
|
||||||
|
|
||||||
TITRE.innerHTML +=`
|
|
||||||
<p class= "titre">${EPISODES.title}</p>
|
|
||||||
`
|
|
||||||
}
|
|
||||||
,)
|
|
||||||
|
|
||||||
const accordeonItemHeader = document.querySelectorAll(".accordeon_item_header");
|
|
||||||
accordeonItemHeader.forEach(accordeonItemHeader =>{
|
|
||||||
accordeonItemHeader.addEventListener("click", event => {
|
|
||||||
|
|
||||||
console.log(event.target.id);
|
|
||||||
console.log(event.target.nextSibling)
|
|
||||||
console.log(event.target.nextSibling.nextElementSibling)
|
|
||||||
console.log(event.target.nextSibling.nextElementSibling.children)
|
|
||||||
const DEPLIE = event.target.nextSibling.nextElementSibling.children[0];
|
|
||||||
|
|
||||||
accordeonItemHeader.classList.toggle("active");
|
|
||||||
|
|
||||||
const API_URL = "https://swapi.dev/api/films/"; // déclare la localisation de la liste des films
|
const API_URL = "https://swapi.dev/api/films/"; // déclare la localisation de la liste des films
|
||||||
fetch(API_URL + event.target.id) // recupère la liste des films
|
|
||||||
.then((response) => { // retourne une reponse
|
function remplissage(EPISODES){
|
||||||
console.log(response);
|
// const EPISODES = afficherFilms; // on déclare qu'un épisode est toujours la fonction avec sa boucle
|
||||||
return response.json(); // sous format json
|
|
||||||
})
|
|
||||||
.then(afficherFilms => { // on affiche ensuite les films
|
|
||||||
const EPISODES = afficherFilms; // on déclare qu'un épisode est toujours la fonction avec sa boucle
|
|
||||||
console.log(EPISODES);
|
console.log(EPISODES);
|
||||||
|
|
||||||
DEPLIE.innerHTML +=`
|
for(index in EPISODES.results){
|
||||||
<p class= "titre">${EPISODES.title}</p>
|
films.innerHTML +=`
|
||||||
<p class= "episode">Episode : ${EPISODES.episode_id}</p>
|
<section class="resultat accordeon_item">
|
||||||
<p class= "directeur">Directeur : ${EPISODES.director}</p>
|
<h1 class="accordeon_item_header">${EPISODES.results[index].title}</h1>
|
||||||
<p class= "producteur">Producteur : ${EPISODES.producer}</p>
|
<div class="accordeon_item_body">
|
||||||
<p class= "sortie">Date de Sortie : ${EPISODES.release_date}</p>
|
<p class= "episode">Episode : ${EPISODES.results[index].episode_id}</p>
|
||||||
`
|
<p class= "directeur">Directeur : ${EPISODES.results[index].director}</p>
|
||||||
|
<p class= "producteur">Producteur : ${EPISODES.results[index].producer}</p>
|
||||||
|
<p class= "sortie">Date de Sortie : ${EPISODES.results[index].release_date}</p>
|
||||||
|
</div>
|
||||||
|
</section>`
|
||||||
|
}
|
||||||
|
const accordeonItemHeader = document.querySelectorAll(".accordeon_item_header");
|
||||||
|
accordeonItemHeader.forEach(accordeonItemHeader =>{
|
||||||
|
accordeonItemHeader.addEventListener("click", event => {
|
||||||
|
accordeonItemHeader.classList.toggle("active");
|
||||||
|
})
|
||||||
|
})
|
||||||
}
|
}
|
||||||
/*for(let index = 0; index <5; index++){
|
|
||||||
FILMS.innerHTML +=`
|
|
||||||
<p class ="especes"> Espèces : ${EPISODES.species[index]}</p>
|
|
||||||
`
|
|
||||||
}
|
|
||||||
for(let index = 0; index<8; index++){
|
|
||||||
FILMS.innerHTML +=`
|
|
||||||
<p class= "vaisseaux"> Vaisseaux : ${EPISODES.starships[index]}</p>
|
|
||||||
`
|
|
||||||
}*/
|
|
||||||
|
|
||||||
,)
|
|
||||||
})
|
api_call(API_URL, remplissage);
|
||||||
})
|
|
Loading…
Reference in New Issue