Bonjour,
J'ai une page index.php qui appelle mon menu et mon contenu par include. Cette page contient dans son header les appels aux scripts JS. Lorsque je charge une page1.inc.php depuis le menu dans mon index.php, celui-ci se referme puisque que je recharge la page.
Mon menu est un fichier php qui appelle un fichier xml :
1 2 3 4 5 6 7 8 9 10 11 12 13
|
<?php
$XmlData = "tree2.xml";
$XslData = "xmlTree.xsl";
$doc = new DOMDocument();
$xsl = new XSLTProcessor();
$doc->load($XslData);
$xsl->importStyleSheet($doc);
$doc->load($XmlData);
echo $xsl->transformToXML($doc);
?> |
Une fois chargé dans la page, le code html ressemble à cet extrait :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
<div id="tree">
<span class="trigger" onClick="
showBranch('car_name_folder');
"><img src="closed.gif" id="Icar_name_folder">car_name_folder<br></span><span class="branch" id="car_name_folder">
<span class="trigger" onClick="
showBranch('car.ini');
"><img src="closed.gif" id="Icar.ini">car.ini<br></span><span class="branch" id="car.ini">
<span class="trigger" onClick="
showBranch('car');
"><img src="closed.gif" id="Icar">car<br></span><span class="branch" id="car">
<a href="index.php?&p=page1">name=</a>
[...] |
Le script JS qui permet d'utiliser le menu est celui-ci :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
var openImg = new Image();
openImg.src = "open.gif";
var closedImg = new Image();
closedImg.src = "closed.gif";
function showBranch(branch){
var objBranch = document.getElementById(branch).style;
if(objBranch.display=="block")
objBranch.display="none";
else
objBranch.display="block";
swapFolder('I' + branch);
}
function swapFolder(img){
objImg = document.getElementById(img);
if(objImg.src.indexOf('closed.gif')>-1)
objImg.src = openImg.src;
else
objImg.src = closedImg.src;
} |
Je n'arrive pas à faire passer un display=block a la fonction JS (qui n'est pas de moi : devx.com) afin de pouvoir laisser mon menu développé lorsque je charge une page avec un include.
Dans ma page de contenu (en php) j'ai essayé de la façon suivante :
<div id="content" onload="showBranch('nom_de_la_branch');">
Mais ça ne donne évidemment rien.
Est-ce que ça peut être du au fait que mon contenu est chargé après le menu ?
Merci d'avance pour vos lumières !
Partager