我正在使用Joomla Framework开发一个Web应用程序。 jQuery UI手风琴功能对我不起作用。 Firebug报告的错误是.accordion不是一个函数。我已阅读了许多解决各种类似错误的网页,但尚未找到解决方案。
以下是我在组件视图模板中的内容:
$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>' );
这是我收录的javascript(pfm_main_ui.js):
jQuery(document).ready(function() {
jQuery('#accordion').accordion(
{
header: "h2"
});
})
以下是模板中手风琴的html:
<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>
其他信息:
Joomla默认使用mootools,所以我必须调用jQuery.noConflict()来使用jQuery。我相信这可能是错误的来源,但无法解决。非常感谢任何帮助!
答案 0 :(得分:0)
一些想法:
使用快速查看源,HTML看起来如何? (在FF和Chrome中按Ctrl + U)javascript文件是否以正确的顺序加载?
jquery-ui-1.8.4.custom.min.js
引用的自定义JQuery UI javascript文件可能不包含Accordion UI组件的类声明。尝试从CDN(这里是Microsoft的http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/jquery-ui.min.js)加载完整的JQuery UI库,看看是否能纠正错误。