Je développe une application web en utilisant le Framework Joomla. La fonction d'accordéon de l'interface utilisateur jQuery ne fonctionne pas pour moi. L'erreur signalée par Firebug est que .accordion n'est pas une fonction. J'ai lu beaucoup de pages traitant de diverses erreurs similaires mais je n'ai pas trouvé de solution.Pourquoi le rapport d'erreur Firebug dit-il: jQuery ("# accordéion"). Accordéon n'est pas une fonction?
Voici ce que j'ai dans le modèle pour la vue de mon élément:
$document =& JFactory::getDocument();
$document->addScript('/includes/js/jquery-1.4.2.js');
$document->addScript('/includes/js/jquery-ui-1.8.4.custom.min.js');
JHTML::script('includes/js/pfm_main_ui.js', '');
$document->addCustomTag('<script type="text/javascript">jQuery.noConflict();</script>' );
Voici mon javascript inclus (pfm_main_ui.js):
jQuery(document).ready(function() {
jQuery('#accordion').accordion(
{
header: "h2"
});
})
Voici html pour l'accordéon dans le modèle:
<div id="accordion">
<div>
<h2><a href="#">Header 1</a></h2>
<div id="contentPanel_1">...content ...
</div>
</div>
<div>
<h2><a href="#">Header 2</a></h2>
<div id="contentPanel_2">...content ...
</div>
</div>
<div>
<h2><a href="#">Header 3</a></h2>
<div id="contentPanel_3">...content ...
</div>
</div>
<div>
<h2><a href="#">Header 4</a></h2>
<div id="contentPanel_4">...content ...
</div>
</div>
</div>
Autres infos:
Joomla par défaut utilise Mootools, donc je dois appeler jQuery.noConflict() à utiliser jQuery. Je crois que cela peut être d'où vient l'erreur, mais ne peut pas résoudre. Toute aide est très appréciée!
Je pense qu'il vous manque un fichier js à inclure. comme ceci: $ document-> addScript ('/includes/js/jquery-1.4.2.js'); vous devez trouver le fichier qui a la fonction d'accordéon et inclure ce fichier. –