Question déroulantes sur réponse FAQ
Résolu
Patoch250
Messages postés
66
Date d'inscription
Statut
Membre
Dernière intervention
-
Patoch250 Messages postés 66 Date d'inscription Statut Membre Dernière intervention -
Patoch250 Messages postés 66 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Suite à une mission donnée par mon maître de stage je dois créer un Intranet avec une partie FAQ où lorsque l'on clique sur la question celle ci déroule en dessous la réponse. Mon problème c'est qu'il faut que je partage les questions en plusieurs parties. J'ai donc un problème pour apeler le code Javascript dans les différentes classe html. Voici le code pour vous faciliter la compréhension. Merci d'avance.
<script type="text/javascript">
if(!window.Node){
var Node = {ELEMENT_NODE : 1, TEXT_NODE : 3};
}
function checkNode(node, filter){
return (filter == null || node.nodeType == Node[filter] || node.nodeName.toUpperCase() == filter.toUpperCase());
}
function getChildren(node, filter){
var result = new Array();
var children = node.childNodes;
for(var i = 0; i < children.length; i++){
if(checkNode(children[i], filter)) result[result.length] = children[i];
}
return result;
}
function getChildrenByElement(node){
return getChildren(node, "ELEMENT_NODE");
}
function getFirstChild(node, filter){
var child;
var children = node.childNodes;
for(var i = 0; i < children.length; i++){
child = children[i];
if(checkNode(child, filter)) return child;
}
return null;
}
function getFirstChildByText(node){
return getFirstChild(node, "TEXT_NODE");
}
function getNextSibling(node, filter){
for(var sibling = node.nextSibling; sibling != null; sibling = sibling.nextSibling){
if(checkNode(sibling, filter)) return sibling;
}
return null;
}
function getNextSiblingByElement(node){
return getNextSibling(node, "ELEMENT_NODE");
}
// Menu Functions & Properties
var activeMenu = null;
function showMenu() {
if(activeMenu){
activeMenu.className = "";
getNextSiblingByElement(activeMenu).style.display = "none";
}
if(this == activeMenu){
activeMenu = null;
} else {
this.className = "active";
getNextSiblingByElement(this).style.display = "block";
activeMenu = this;
}
return false;
}
function initMenu(){
var menus, menu, menu2, menus2, text, a, i;
menus = getChildrenByElement(document.getElementById("faq"));
menus2 = getChildrenByElement(document.getElementById("faq2"));
for(i = 0; i < menus.length; i++){
menu = menus[i];
text = getFirstChildByText(menu);
a = document.createElement("a");
menu.replaceChild(a, text);
a.appendChild(text);
a.href = "#";
a.onclick = showMenu;
a.onfocus = function(){this.blur()};
}
}
Suite à une mission donnée par mon maître de stage je dois créer un Intranet avec une partie FAQ où lorsque l'on clique sur la question celle ci déroule en dessous la réponse. Mon problème c'est qu'il faut que je partage les questions en plusieurs parties. J'ai donc un problème pour apeler le code Javascript dans les différentes classe html. Voici le code pour vous faciliter la compréhension. Merci d'avance.
<script type="text/javascript">
if(!window.Node){
var Node = {ELEMENT_NODE : 1, TEXT_NODE : 3};
}
function checkNode(node, filter){
return (filter == null || node.nodeType == Node[filter] || node.nodeName.toUpperCase() == filter.toUpperCase());
}
function getChildren(node, filter){
var result = new Array();
var children = node.childNodes;
for(var i = 0; i < children.length; i++){
if(checkNode(children[i], filter)) result[result.length] = children[i];
}
return result;
}
function getChildrenByElement(node){
return getChildren(node, "ELEMENT_NODE");
}
function getFirstChild(node, filter){
var child;
var children = node.childNodes;
for(var i = 0; i < children.length; i++){
child = children[i];
if(checkNode(child, filter)) return child;
}
return null;
}
function getFirstChildByText(node){
return getFirstChild(node, "TEXT_NODE");
}
function getNextSibling(node, filter){
for(var sibling = node.nextSibling; sibling != null; sibling = sibling.nextSibling){
if(checkNode(sibling, filter)) return sibling;
}
return null;
}
function getNextSiblingByElement(node){
return getNextSibling(node, "ELEMENT_NODE");
}
// Menu Functions & Properties
var activeMenu = null;
function showMenu() {
if(activeMenu){
activeMenu.className = "";
getNextSiblingByElement(activeMenu).style.display = "none";
}
if(this == activeMenu){
activeMenu = null;
} else {
this.className = "active";
getNextSiblingByElement(this).style.display = "block";
activeMenu = this;
}
return false;
}
function initMenu(){
var menus, menu, menu2, menus2, text, a, i;
menus = getChildrenByElement(document.getElementById("faq"));
menus2 = getChildrenByElement(document.getElementById("faq2"));
for(i = 0; i < menus.length; i++){
menu = menus[i];
text = getFirstChildByText(menu);
a = document.createElement("a");
menu.replaceChild(a, text);
a.appendChild(text);
a.href = "#";
a.onclick = showMenu;
a.onfocus = function(){this.blur()};
}
}
A voir également:
- Question déroulantes sur réponse FAQ
- Réponse automatique thunderbird - Guide
- Réponse automatique gmail - Guide
- Comment faire une liste déroulante sur excel - Guide
- Listes déroulantes en cascade excel - Guide
- Appel messenger pas de reponse - Forum LG
3 réponses
je n'ai pas lu tout ton code mais si tu veux juste afficher la réponse en dessous lorsqu'il clique sur la question voila ce que je propose :
<a href="javascript:;" onclick="javascript:show('contenu1')"> ma qestion ici </a> <div id="contenu1" style="display:none"> coucou j'apparait </div> <br/> <a href="javascript:;" onclick="javascript:show('contenu2')"> cliquer ici</a> <div id="contenu2" style="display:none"> salut </div> <script type="text/javascript"> function show(indice) { if (document.getElementById(indice).style.display=="none") document.getElementById(indice).style.display="block"; else document.getElementById(indice).style.display="none"; } </script>
Tu me sauves la vie! Merci encore a bientôt !