Fonction quitte brusquement parfois ?? --> TROUVER un élément Div ???
Bonjour,
Je suis nouveau en tout ce qui concerne javascript/php etc.
J'utilise un script javascript (dans un fichier .js que j'inclus) qui permet d'afficher/cacher un élement "div" d'une page html, dans le but de n'afficher le menu de navigation du haut que si l'utilisateur s'est enregistré.
Le script :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
var DHTML = (document.getElementById || document.all || document.layers);
function getObj(name)
{
if (document.getElementById)
{
this.obj = document.getElementById(name);
this.style = document.getElementById(name).style;
}
else if (document.all)
{
this.obj = document.all[name];
this.style = document.all[name].style;
}
}
function layerDisp(lyr,flag)
{
if(!DHTML) return;
var x = new getObj(lyr);
x.style.display = (flag)? 'block' : 'none';
}
function toggleVisible(lyr)
{
alert("Appel a toggleVisible");
if(!DHTML) return;
alert("etape 1...");
var x = new getObj(lyr);
alert("etape 2...");
var flag = (x.style.display == 'none')? 1 : 0;
alert("etape 3...");
layerDisp(lyr,flag);
alert("etape 4...");
}
function maskLayer()
{
styleCalque("message").display="none";
} |
Lorsque j'utilise :
Code:
1 2
|
<a class="CLink" href="javascript:toggleVisible('div_menu');" target="_top">TEST DE LA FONCTION</a> |
Ca marche impeccablement (j'ai mis des "alert" dans tout mon code javascript pour etre sur).
Par contre, ce que je veux, c'est pas ca ! J'aimerais que ca se fasse automatiquement soit au onLoad de la page HTML si possible, soit que j'appelle ca directement dans le code.
Et voici mes problemes :
1) Si j'appelle au onLoad ou plus loin dans le code, la fonction javascript appelée quitte subitement apres le alert("etape 1...");
J'utilise ce code pour appeler la fonction dans le body du HTML :
Code:
1 2
|
<script type="text/JavaScript">toggleVisible('div_menu');</script> |
2) Avec ce code, la fonction est appelée 2 fois 8O
Tandis que si j'utilise :
Code:
1 2
|
<script language="javascript">toggleVisible('div_menu');</script> |
Ca ne l'affiche qu'une fois (mais bon ca marche pas quand meme ! lol)
Voilà, si quelqu'un peut me dire comment appeler cette fonction directement dans le body du HTML (sans passer par un clic sur un lien), et si quelqu'un peut me dire pourquoi ca ne marche qu'avec un clic et pourquoi ca plante avec un appel direct.... 8O
Merci beaucoup de votre aide :)
Lideln