<script language="javascript">
function toggle(id) {
alert('call');
if (document.getElementById(id).style.display == "none") {
alert('now visible');
document.getElementById(id).style.display = "";
} else {
alert('now invisible');
document.getElementById(id).style.display = "none";
}
}
</script>
</head>
<body onload="toggle('image1');alert('test_body');toggle('image2')">
<script language="javascript">
alert('test_pre_function');
toggle('image1');
alert('test_after_function');
toggle('image2');
</script>
Cela ressemble à beaucoup de code mais c'est assez simple, donc je pense que la plupart d'entre vous n'auront pas de problèmes avec ça. toggle() devrait basculer l'état d'affichage des divs contenant des images.appels de fonction [javascript]
Lorsque l'utilisateur entre sur le site, les divs devraient se cacher, quand tout est chargé, les divs devraient apparaître. Curieusement, la fonction dans le corps (pas dans l'étiquette de corps) ne fonctionne que la moitié, je reçois et alerte 'test_pre_function' et j'obtiens un 'appel' d'alerte (hors de la fonction), mais c'est il. Le code dans l'étiquette de corps fonctionne très bien.
Je trouve cela bizarre parce que c'est censé faire exactement la même chose deux fois et une fois qu'il fonctionne, une autre fois pas, donc je suppose que j'ai dû faire une erreur stupide.
Un débogueur Javascript tel que Firebug vous aidera à résoudre ce genre de problèmes. Cela vous permettra de voir les erreurs JavaScript normalement cachées. – Schwern
@Schwerm: D'accord, je vais certainement y jeter un coup d'oeil – Samuel