Bonjour,
Je souhaiterais faire un questionnaire (avec gestion d'affichage du temps des questions) utilisant les css (plutôt que les iframes).
Je suis partit du code présent sur cette page : ici mais je n'arrive pas exactement à obtenir ce que je désire (mes connaissances en javascript étant quasi nulles).
Voila le code que j'utilise :
essai.js
Le problème c'est que lorsque je clique sur le premier lien, j'ai bien les réponses qui s'affichent pendant 5 secondes avant de disparaître, mais si je clique une deuxième fois sur le même lien j'ai une erreur javascript. Ainsi, j'aimerai que le lien devient inactif une fois cliqué (les réponses ne pouvant être affichées qu'une seule fois).
Ensuite, je voulais savoir si vous savez s'il est possible d'afficher à la fin des 5 secondes le contenu d'un nouveau div (pour inviter les gens à sélectionner leur réponse) plutôt que de supprimer le div.
Le top du top serait que tout soit au même endroit : d'abord le lien qui invite à cliquer pour obtenir les réponses, puis les réponses qui s'affichent pendant 5 secondes et enfin l'invitation à remplir la réponse.
J'espère avoir été assez clair
En tout cas je vous remercie d'avance pour votre aide.
Rémy.
Modifié par remy498 (26 Aug 2006 - 23:49)
Je souhaiterais faire un questionnaire (avec gestion d'affichage du temps des questions) utilisant les css (plutôt que les iframes).
Je suis partit du code présent sur cette page : ici mais je n'arrive pas exactement à obtenir ce que je désire (mes connaissances en javascript étant quasi nulles).
Voila le code que j'utilise :
essai.js
function disparition(id, duree) {
document.getElementById(id).style.visibility = 'visible';
if (!document.getElementById) return false;
if (!document.getElementById(id)) return false;
this.oDiv = document.getElementById(id);
this.parent = this.oDiv.parentNode;
this.timeoutId = null;
this.func = null;
this.duree = duree * 1000;
this.init();
}
disparition.prototype.init = function() {
var oThis = this;
this.func = function () {oThis.disparait();};
this.timeoutId = setTimeout(this.func, this.duree);
}
disparition.prototype.disparait = function () {
this.parent.removeChild(this.oDiv);
clearTimeout(this.timeoutId);
}
<html><head>
<script type="text/javascript" src="essai.js"></script></head>
<div><u>Question 1</u> : Question ?
<br><a onclick="var d = new disparition('q1', 5);return false;">Clique ici pour voir les réponses - Vous aurez 5 secondes pour choisir</a><br>
<div style="visibility: hidden;" id="q1">A) B) C) D) </div>
<div class="blanc"><input type=radio name=1 value=0>A</div>
<div class="blanc"><input type=radio name=1 value=2>B</div>
<div class="blanc"><input type=radio name=1 value=0>C</div>
<div class="blanc"><input type=radio name=1 value=0>D</div>
</div>
<br>
<div><u>Question 2</u> : Question ?
<br><a onclick="var d = new disparition('q2', 5);return false;">Clique ici pour voir les réponses - Vous aurez 5 secondes pour choisir</a><br>
<div style="visibility: hidden;" id="q2">A) B) C) D) </div>
<div class="blanc"><input type=radio name=2 value=0>A</div>
<div class="blanc"><input type=radio name=2 value=2>B</div>
<div class="blanc"><input type=radio name=2 value=0>C</div>
<div class="blanc"><input type=radio name=2 value=0>D</div>
</div>
</body>
Le problème c'est que lorsque je clique sur le premier lien, j'ai bien les réponses qui s'affichent pendant 5 secondes avant de disparaître, mais si je clique une deuxième fois sur le même lien j'ai une erreur javascript. Ainsi, j'aimerai que le lien devient inactif une fois cliqué (les réponses ne pouvant être affichées qu'une seule fois).
Ensuite, je voulais savoir si vous savez s'il est possible d'afficher à la fin des 5 secondes le contenu d'un nouveau div (pour inviter les gens à sélectionner leur réponse) plutôt que de supprimer le div.
Le top du top serait que tout soit au même endroit : d'abord le lien qui invite à cliquer pour obtenir les réponses, puis les réponses qui s'affichent pendant 5 secondes et enfin l'invitation à remplir la réponse.
J'espère avoir été assez clair

En tout cas je vous remercie d'avance pour votre aide.
Rémy.
Modifié par remy498 (26 Aug 2006 - 23:49)