J'ai développé un petit site avec du java script :
http://www.xtmformation.com/
(en cours de développement). Dans les page du site j'ai développé un petit prog en JS afin que lorsqu'on clique sur les entetes de chapitre un texte apparaisse.
Cela fonctionne très bien sous IE mais pas sous Mozilla et firefox. J'avoue qu'au départ je ne me formalisait pas trop mais là ca m'énerve car je ne vois pas d ou vient le probleme.
Si une ame charitable peut me venir en secour je la remercie, voici le code appelé par la page. En fait sous Mozilla le texte s'affiche mais il se superpose au texte du dessous alors qu'il devrait descendre ce texte.
Code : Tout sélectionner
// JavaScript Document
<!--
var intCount = 0;
//-Fonction d'ajout d'entrées principales-------------------------
function DynamicMenu_addParent(img,titre,classe,strName) {
var strID = 'ID' + intCount++;
var strTemp = '<DIV CLASS="aieul">'+ img+titre +'<DIV ID="' + strID + '" CLASS="' +classe;
strTemp += '" onClick="expandCollapse(this);">';
strTemp += '<IMG SRC="Image/petitchapeau.png" Height="10">';
strTemp += ' ' + strName ;
strTemp += '<DIV STYLE="display: none" CLASS="child"></DIV>';
strTemp += '</DIV>';
strTemp += '</DIV>';
this.div.innerHTML += strTemp;
this.currentChild = document.getElementById(strID);
}
//-Fonction d'ajout de liens dans le menu-------------------------
function DynamicMenu_addChild(strName,strURL) {
var strTemp = '<a onClick="cancelBubble(arguments[0]);">'
+ strName + '</a></br>';
if (document.all) {
this.currentChild.children[1].innerHTML += strTemp;
} else {
this.currentChild.childNodes[2].innerHTML += strTemp;
}
}
//-inhibe la cascade d'évènements au DIV conteneur----------------
function cancelBubble(netEvent) {
if (document.all) {
window.event.cancelBubble = true;
} else {
netEvent.cancelBubble = true;
}
}
//-Contracte ou expanse le menu-----------------------------------
function expandCollapse(objElement) {
var NumDiv = 1;
var nom=document.getElementById( 'ID' + NumDiv);
if (document.all) {
var imgIcon = objElement.children[0];
objElement = objElement.children[1];
} else {
var imgIcon = objElement.childNodes[0];
objElement = objElement.childNodes[2];
}
if (objElement.style.display == "none") {
if ( document.getElementById ) // Pour les navigateurs récents
{
while ( nom )
{
nom = nom.childNodes[2];
nom.style.display = "none" ;
NumDiv++;
var nom=document.getElementById( 'ID' + NumDiv);
}
}
objElement.style.display = "block" ;
imgIcon.src = "Image/petitchapeau.png" ;
} else {
objElement.style.display = "none" ;
imgIcon.src = "Image/petitchapeau.png" ;
}
}
//-Fonction de création de menu dynamique-------------------------
function DynamicMenu() {
var id = "Menu" + intCount++;
document.write('<DIV Id="' + id + '"></DIV>');
this.div = document.getElementById(id);
this.currentChild = null;
this.addParent = DynamicMenu_addParent;
this.addChild = DynamicMenu_addChild;
}
// -->