2017-10-13 1 views
-1

Je ne sais pas comment nommer mon problème, alors je suis désolé pour le titre.Carousel de cartes

J'ai fait cette section avec quelques cartes, mais je veux faire quelque chose comme un menu, je ne sais pas comment l'appeler ... c'est comme, je mets les flèches pointées à droite et à gauche et quand je clique dessus , plus de cartes apparaissent. Je pense que c'est comme un carrousel. Mais jusqu'à présent, je ne pouvais pas faire ce que je veux. Comme cette image:

enter image description here

<section id="tres"> 
     <h1> TEST </h1> 
    <hr> 

    <div id="cards02"> 

    <div class="card" style="width: 25rem;" id="card-1"> 
    <img class="card-img-top" src="idosa.png" alt="Card image cap"> 
    <div class="card-body"> 
    <h4 class="card-title">TEST 
</h4> 
    <h6> 13 Outubro 2017</h6> 
    <p class="card-text">TEST TEST TEST </p> 
    <a href="#" class="btn btn-primary">TEST </a> 
    </div> 
</div> 




    <div class="card" style="width: 25rem;" id="card-2"> 
    <img class="card-img-top" src="idosa.png" alt="Card image cap"> 
    <div class="card-body"> 
    <h4 class="card-title">TEST TEST TEST 
</h4> 
    <h6> 13 Outubro 2017</h6> 
    <p class="card-text">TEST TEST TEST </p> 
    <a href="#" class="btn btn-primary">TEST </a> 
    </div> 
</div> 
    <div class="card" style="width: 25rem;" id="card-3"> 
    <img class="card-img-top" src="idosa.png" alt="Card image cap"> 
    <div class="card-body"> 
    <h4 class="card-title"TEST TEST TEST 
</h4> 
    <h6> 13 Outubro 2017</h6> 
    <p class="card-text">TEST </p> 
    <a href="#" class="btn btn-primary">TEST</a> 
    </div> 
</div> 

    </div> 

    </section> 
+1

hey s'il vous plaît fournir le code complet avec css, html et js –

+0

ici: https://pastebin.com/UuSWWuHu – Lucky

+0

Sur, vous êtes censé essayer de ** écrire le code toi même**. Après ** [faire plus de recherche] (// meta.stackoverflow.com/questions/261592)** si vous avez un problème, vous pouvez ** poster ce que vous avez essayé ** avec une ** explication claire de ce qui est ' t travaillant ** et fournissant un ** [exemple minimal, complet et vérifiable] (// stackoverflow.com/help/mcve)**. – Rob

Répondre

1

Qu'est-ce que vous essayez de faire est exactement un carrousel, juste pour que vous savez que vous devrez utiliser plus pur html (JS plus spécifiques et css si nécessaire), si vous ne voulez pas connaître les détails de la création d'un carrousel, vous pouvez toujours utiliser des bibliothèques comme bootstrap (https://www.w3schools.com/bootstrap/bootstrap_carousel.asp) ou slick (http://kenwheeler.github.io/slick/). Mais si vous voulez en créer un, vous devrez chercher un tutoriel (il y en a beaucoup sur le web "carousel js css tutorial") parce que c'est un long processus.

+0

Seules les réponses aux liens et les recommandations pour les logiciels tiers ne sont pas autorisées sur le SO. Cette question est hors sujet de toute façon et ne devrait pas être répondue. S'il vous plaît, ne répondez pas aux questions du sujet. Répondez aux questions bien posées Toutes les questions ne peuvent ou ne doivent pas être répondues ici. Épargnez-vous de la frustration et évitez d'essayer de répondre à des questions qui ... ... ne sont pas claires ou manquent de détails spécifiques pouvant identifier le problème de façon unique. ... solliciter des opinions plutôt que des faits ... ne pas tenter d'écrire le code ou demander d'écrire le code pour eux. "Https://stackoverflow.com/help/how-to-answer – Rob

0

Voici un carrousel JS à la vanille que vous pouvez regarder, il glisse tout seul et arrête de glisser si l'utilisateur clique sur les flèches pour un contrôle manuel. Si vous voulez afficher plusieurs éléments plutôt qu'un seul, vous pouvez juste faire quelques modifications mineures à cela.

//Changed index so 1 is actually first image, rather than starting at 0 index 
 
var index = 1; 
 
var paused = false; 
 
var slideShow = []; 
 

 
for (i=0; i<document.getElementsByClassName("slideShow").length; i++) { 
 
    slideShow[i] = document.getElementsByClassName("slideShow")[i]; 
 
    slideShow[i].style.display = "none"; 
 
} 
 

 
slideShow[0].style.display = "inline"; 
 

 
var slides = setInterval(function() { 
 
    if (index < slideShow.length) { 
 
    index++; 
 
\t \t showDivs(); 
 
    } 
 
    else { 
 
\t \t index = 1; 
 
\t \t showDivs(); 
 
\t } 
 
},1000); 
 

 
function control(n) { 
 
    clearInterval(slides); 
 

 
    if (index+n > slideShow.length) { 
 
    index = 1; 
 
    } 
 
    else if (index+n <= 0) { 
 
    index = slideShow.length; 
 
    } 
 
    else { 
 
\t \t index += n; 
 
    } 
 
    showDivs(); 
 
} 
 

 
function showDivs() { 
 
    //Hide all slideShow elements, and then show only the targeted element 
 
    for (let i=1; i<=slideShow.length; i++) { 
 
    slideShow[i-1].style.display = "none"; 
 
    } 
 
    slideShow[index-1].style.display = "inline"; 
 
}
<button onclick="control(-1)" class="arrows" id="left"><</button> 
 
<p class="slideShow">1</p> 
 
<p class="slideShow">2</p> 
 
<p class="slideShow">3</p> 
 
<p class="slideShow">4</p> 
 
<p class="slideShow">5</p> 
 
<button onclick="control(1)" class="arrows" id="right">></button>