Bonjour à vous tous,
Je viens d'utiliser pour la première fois la balise <dialog> et je constate qu'elle fonctionne une première fois mais pas une seconde fois. En effet, on peut cliquer sur le mot Moteur", qui ouvre une fenêtre de dialogue, mais pas sur le mot juste en dessous "Esthétisme". J'ai l'impression que cette balise ne peut pas être utilisée plus d'une fois sur une même page web. Me le confirmez vous ?
Voici le code HTML :
Voici le code CSS :
Et voici le code JavaScript pour la gestion de l'ouverture et de la fermeture de la fenêtre de dialogue :
Je précise que je n'ai pas codé la partie JavaScript, je l'ai récupérée sur le web.
Merci pour votre aide
Je viens d'utiliser pour la première fois la balise <dialog> et je constate qu'elle fonctionne une première fois mais pas une seconde fois. En effet, on peut cliquer sur le mot Moteur", qui ouvre une fenêtre de dialogue, mais pas sur le mot juste en dessous "Esthétisme". J'ai l'impression que cette balise ne peut pas être utilisée plus d'une fois sur une même page web. Me le confirmez vous ?
Voici le code HTML :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="styles.css">
<title>Balise dialogue</title>
</head>
<body>
<main>
<section>
<article>
<div class="container_titre">
<h1 class="titre_principal">Ferrari</h1>
</div>
<div class="container_textes">
<p class="texte">
La première chose nous venant à l’esprit lorsque nous imaginons une Ferrari est sa vitesse. Cette vitesse est due à plusieurs éléments composant la Ferrari, notamment les caractéristiques techniques. Elles permettent aux voitures Ferrari de réaliser des performances incroyables et spécifiques aux voitures sportives de luxe de la marque au cheval cambré.
</p>
<h3 class="titre_tertiaire">
Caractéristiques
</h3>
<div class="attributs_universels">
<dialog id="myDialog" class="dialogue">
<h3 class="titre_attribut">Moteur</h3>
<p>
Les caractéristiques du moteur d’une Ferrari sont un moteur à cylindres (V12, V6, V8), à chevaux très puissants (jusqu’à 500/600 chevaux), avec des vitesses maximales incroyables (plus de 300 km/h) et une accélération 0-100 km en quelques secondes (2 à 3 secondes).
</p>
<button id="yesBtn">Fermer</button>
</dialog>
<button id="openDialogBtn" class="gras">Moteur</button>
</div>
<div class="attributs_universels">
<dialog id="myDialog" class="dialogue">
<h3 class="titre_attribut">Esthétisme</h3>
<p>
Les voitures Ferrari ont des caractéristiques esthétiques qui sont propres à elles. Elles peuvent être facilement reconnues à leur apparence en raisons d’éléments typiques de la marque italienne : des traits fins, raffinés, musclés, logo à cheval cambré. Il est très facile de reconnaître une Ferrari en raison de ces éléments.
</p>
<button id="yesBtn">Fermer</button>
</dialog>
<button id="openDialogBtn" class="gras">Eshétisme</button>
</div>
</div>
</article>
</section>
</main>
<script src="dialogue.js"></script>
</body>
</html>
Voici le code CSS :
body {
line-height: 1.3;
background-color: #f7ebff;
font-size: 1.1rem;
}
#myDialog{
width: 50%;
}
.dialogue{
background-color: #f7ebff;
border: 3px solid #5f479f;
padding: 1rem;
}
#openDialogBtn{
margin-left: .5rem;
width: 12rem;
font-size: 1.5rem;
border: none;
background-color: #f7ebff;
font-family: 'zilla_slablight';
padding: 0;
color: #5f479f;
text-align: left;
}
.titre_attribut{
margin-top: -5px;
color: #5f479f;
}
.container_titre{
width: 60%;
margin: 0 auto;
background-color: #5f479f;
padding-bottom: 1rem;
}
.titre_principal{
padding: 8rem 0 0 0;
font-size: 3rem;
font-family: 'zilla_slab_regularregular';
margin-top: -1rem;
text-align: center;
color: #ddd;
margin-bottom: 0;
}
.container_textes{
width: 60%;
margin: 0 auto;
padding-bottom: 1rem;
}
.gras{
font-weight: 900;
}
.titre_tertiaire{
font-size: 2rem;
color: #5f479f;
}
Et voici le code JavaScript pour la gestion de l'ouverture et de la fermeture de la fenêtre de dialogue :
// Récupération des éléments du DOM
var dialog = document.getElementById('myDialog');
var openBtn = document.getElementById('openDialogBtn');
var yesBtn = document.getElementById('yesBtn');
var noBtn = document.getElementById('noBtn');
// Ajout d'un écouteur d'événement pour ouvrir la boîte de dialogue
openBtn.addEventListener('click', function() {
dialog.show();
});
// Ajout d'écouteurs d'événements pour gérer la fermeture de la boîte de dialogue
yesBtn.addEventListener('click', function() {
// Code pour supprimer l'élément
dialog.close();
});
noBtn.addEventListener('click', function() {
dialog.close();
});
Je précise que je n'ai pas codé la partie JavaScript, je l'ai récupérée sur le web.
Merci pour votre aide