Page 1 sur 1

Probleme avec accordion.

Posté : 29 févr. 2008, 14:45
par manu.porquet
Bonjour,

je rencontre quelques difficultés pour faire fonctionner accordion.
Firebug me met cette erreur :

Code : Tout sélectionner

[Exception... "'horizontal_container doesn't exist!' when calling method: [nsIDOMEventListener::handleEvent]" nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)" location: "<unknown>" data: no] Line 0
voici le code de ma page :

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <link rel="stylesheet" type="text/css" href="style.css"> <script type="text/javascript" src="../../fonctions/ajax/effet_accordeon/prototype.js"></script> <script type="text/javascript" src="../../fonctions/ajax/effet_accordeon/effects.js"></script> <script type="text/javascript" src="../../fonctions/ajax/effet_accordeon/accordion.js"></script> <script type="text/javascript"> // In my case I want to load them onload, this is how you do it! Event.observe(window, 'load', loadAccordions, false); // Set up all accordions function loadAccordions() { var topAccordion = new accordion('horizontal_container', { classNames : { toggle : 'horizontal_accordion_toggle', toggleActive : 'horizontal_accordion_toggle_active', content : 'horizontal_accordion_content' }, defaultSize : { width : 525 }, direction : 'horizontal' }); var bottomAccordion = new accordion('vertical_container'); var nestedVerticalAccordion = new accordion('vertical_nested_container', { classNames : { toggle : 'vertical_accordion_toggle', toggleActive : 'vertical_accordion_toggle_active', content : 'vertical_accordion_content' } }); // Open first one bottomAccordion.activate($$('#vertical_container .accordion_toggle')[0]); // Open second one topAccordion.activate($$('#horizontal_container .horizontal_accordion_toggle')[2]); } </script> </head> <?php //On inclu le fichier de fonctions de connexion à la base include "../../fonctions/php/acces_bdd.php"; //connexion à la base de donnees connecter("test_ajax"); ?> <body> <div id="container"> <h1>Effet Accord&eacute;on</h1> <p class="description" >Test sur la page affichant les notes de r&eacute;glementation.</p> <div id="vertical_container" > <?php // creation et envoi de la requete $query = "SELECT * FROM prest_thematique WHERE niveau_them = 1 ORDER BY ordre_them"; $result = mysql_query($query); // Recuperation des resultats while($row = mysql_fetch_row($result)){ echo "<h1 class='accordion_toggle'>".$row['0']." - ".$row['1']."</h1>"; echo "<div class='accordion_content'>"; $query2 = "SELECT * FROM prest_thematique WHERE niveau_them = 2 and pere_them = ".$row['0']." ORDER BY ordre_them"; $result2 = mysql_query($query2); while($row2 = mysql_fetch_row($result2)){ echo $row['0'].".".$row2['3']." - ".$row2['1']."</br>"; } echo "</div>"; } ?> </div> </div> <script type="text/javascript" > // You can hide the accordions on page load like this, it maintains accessibility var verticalAccordions = $$('.accordion_toggle'); verticalAccordions.each(function(accordion) { $(accordion.next(0)).setStyle({ height: '0px' }); }); </script> </body> <?php //deconnexion à la base de donnees deconnecter(); ?> </html>
apparemment ca deconne au niveau de cette ligne :

Code : Tout sélectionner

Event.observe(window, 'load', loadAccordions, false);
merci d'avance de votre aide

Posté : 29 févr. 2008, 15:13
par Ryle
Le message d'erreur est pourtant explicite :
'horizontal_container doesn't exist!'
Ta page ne comporte pas d'objet nommé (ou identifié, je ne sais pas comment fonctionne ton accordeon) "horizontal_container".

Donc soit faut corriger et ne pas appeller un objet qui n'existe pas, soit faut corriger et ajouter l'objet qui est appellé :)

Posté : 29 févr. 2008, 16:07
par manu.porquet
ok

l'erreur est résolue.
javais juste des parties de code à mettre en commentaire.

merci