Lightbox next et previous comment faire
Fermé
malo91
Messages postés
45
Date d'inscription
mardi 2 février 2021
Statut
Membre
Dernière intervention
3 août 2022
-
3 juin 2022 à 18:36
malo91 Messages postés 45 Date d'inscription mardi 2 février 2021 Statut Membre Dernière intervention 3 août 2022 - 9 juin 2022 à 12:16
malo91 Messages postés 45 Date d'inscription mardi 2 février 2021 Statut Membre Dernière intervention 3 août 2022 - 9 juin 2022 à 12:16
A voir également:
- Cryhod previous os boot failed
- Dual boot - Guide
- Previous os boot failed - Guide
- Reinstaller mac os - Guide
- Boot camp - Télécharger - Systèmes d'exploitation
- Hiren's boot cd - Télécharger - Divers Utilitaires
2 réponses
Salut,
plutôt que de multiplier les bibliothèques ou Framework en JavaScript(Boostrap, peut-être React?)il serais plus simple de commencer par du pur JavaScript. Les bibliothèques logicielle et Framework n sont qu'une application de JavaScript avec ses particularités. Censé faire gagner du temps cela ne vous aidera pas à comprendre.
Même chose si vous prenez un code sur le net vous ne pouvez pas le copier coller sans le comprendre, il faut comprendre la logique et l'appliquer à votre contexte/page web.
Un exemple de ce que vous voulez(il faudra indiquer des adresses d'images existantes si vous voulez voir quelque chose) qui peut vous aider à comprendre.
Bien sûr il existe des cours et tutos bien mieux faits et plus explicite mais si vous ne comprenez pas cet exemple assez simpliste il vous manque les bases et dans ce cas avant de pouvoir faire une galerie d'images défilantes(c'est plus clair que "lightbox" quand même^^ déjà mettre les bonnes définitions ça aide aussi à comprendre) il faut vous tourner vers un cours débutant en JavaScript:
plutôt que de multiplier les bibliothèques ou Framework en JavaScript(Boostrap, peut-être React?)il serais plus simple de commencer par du pur JavaScript. Les bibliothèques logicielle et Framework n sont qu'une application de JavaScript avec ses particularités. Censé faire gagner du temps cela ne vous aidera pas à comprendre.
Même chose si vous prenez un code sur le net vous ne pouvez pas le copier coller sans le comprendre, il faut comprendre la logique et l'appliquer à votre contexte/page web.
Un exemple de ce que vous voulez(il faudra indiquer des adresses d'images existantes si vous voulez voir quelque chose) qui peut vous aider à comprendre.
Bien sûr il existe des cours et tutos bien mieux faits et plus explicite mais si vous ne comprenez pas cet exemple assez simpliste il vous manque les bases et dans ce cas avant de pouvoir faire une galerie d'images défilantes(c'est plus clair que "lightbox" quand même^^ déjà mettre les bonnes définitions ça aide aussi à comprendre) il faut vous tourner vers un cours débutant en JavaScript:
<!DOCTYPE html> <html> <head><meta charset="utf-8"><!-- valide XML--> </head> <body> <img id=galerie src=img0.jpg alt=image0> <hr/> <button id=bt-prev >Précédent</button> <button id=bt-next >Suivant</button> <script> "use strict" const listeImages=['img0.jpg', 'img1.jpg', 'img2.jpg', 'img3.jpg']; /** le tableau peut être modifié sans soucis(nombre d'images, adresse images...) */ const descriptions=['description image0','description image1','description image2','description image3'];/** si modif mettre à jour le texte alternatif aussi bien sûr*/ let positionEnCours=0,/** avec la virgule c'est une écriture raccourcie qui permet d'éviter de répéter const let ou var quand on crée plusieurs varaibles d'affilées*/ galerie=document.getElementById('galerie'), next=document.getElementById('bt-next'), prev=document.getElementById('bt-prev');/** le point virgule n'est pas obligatoire en fin de ligne, juste c'est plus clair pour voir où se termine la création des variables*/ prev.addEventListener('click',/** sélectionne l'élément qui a pou id bt-prev et détecte le clic*/ function(){/** événement lors du clic*/ console.log(positionEnCours-1) if(positionEnCours-1 < 0){/** si positionEncours-1 est inférieur à 0(la limite inférieure de notre tableau)*/ positionEnCours = listeImages.length-1 /* on lui donne la taille du tableau listeImages-1(-1 car le premier index d'un tableau est 0) */ console.log('boucle à l\'index '+(listeImages.length-1)) }else{ /** sinon on soustrait 1 */ positionEnCours=positionEnCours-1 } /** mise à jour de l'image et du texte alternatif*/ galerie.src=listeImages[positionEnCours] galerie.setAttribute('alt', descriptions[positionEnCours]) console.log("position:"+positionEnCours+" , image:"+listeImages[positionEnCours]+", alt:"+descriptions[positionEnCours]) })/** fin de lécouteur de clic sur HTMLELementButton.id.bt-prev*/ /** même chose mais dans le sens "inverse" : ajout de 1 à la position , mise à 0 si postion +1 > à la taille du tableau*/ next.addEventListener('click',function(){ if(positionEnCours+1>listeImages.length-1){ positionEnCours= 0 }else{ positionEnCours++/** opérateur d'affectation identique à: positionEnCours=positionEnCours+1*/ } console.log("position:"+positionEnCours+" , image:"+listeImages[positionEnCours]+", alt:"+descriptions[positionEnCours]) galerie.src=listeImages[positionEnCours] galerie.setAttribute('alt', descriptions[positionEnCours]) }) </script> </body> </html>
malo91
Messages postés
45
Date d'inscription
mardi 2 février 2021
Statut
Membre
Dernière intervention
3 août 2022
1
9 juin 2022 à 12:16
9 juin 2022 à 12:16
Ok oui merci !! c'est un projet deja fait à à ameliorer, avec certains outils à prendre ou pas , dans le cahier de charges donc merci pour vos conseils, apres je dois suivre les criteres demandés ( formation) merci
Modifié le 7 juin 2022 à 12:56
Plutôt simple non, si on enlève les log et les commentaires il n'y a même pas 30 lignes de codes à comprendre.
Une fois compris le principe vous pouvez faire la même chose avec un script externe comme une grosse bibliothèque ou un script de lightbox trouvé sur le web.