par
manu.porquet » 29 févr. 2008, 14:45
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éon</h1>
<p class="description" >Test sur la page affichant les notes de ré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 :
merci d'avance de votre aide
Bonjour,
je rencontre quelques difficultés pour faire fonctionner accordion.
Firebug me met cette erreur :
[code][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[/code]
voici le code de ma page :
[code]
<!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éon</h1>
<p class="description" >Test sur la page affichant les notes de ré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>
[/code]
apparemment ca deconne au niveau de cette ligne :
[code] Event.observe(window, 'load', loadAccordions, false);[/code]
merci d'avance de votre aide