jquery和ajax冲突 - Joomla

时间:2011-03-10 15:51:28

标签: php joomla jquery

ok这是我的问题:我正在使用Joomla 1.6,

我有一个Ajax JS来显示幻灯片在我的网站上的位置:www.dhwnj.com我启用时使用的Jquery脚本会阻止我的幻灯片工作,所以我尝试使用No conflict脚本但我不知道如果我正确使用它:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript" src="<?php echo $this‐>baseurl ?>/templates/<?php echo $this->template ?>/js/jquery.metadata.min.js"></script>
<script type="text/javascript" src="<?php echo $this‐>baseurl ?>/templates/<?php echo $this->template ?>/js/jquery.maphilight.js"></script>
<script type="text/javascript" src="<?php echo $this‐>baseurl ?>/templates/<?php echo $this->template?>/js/fancybox/jquery.fancybox.js"></script>
<script>
    jQuery.noConflict();
     // Use jQuery via jQuery(...)
     jQuery(document).ready(function(){
        jQuery("jquery.maphilight.js").hide();
     });
   // Use Prototype with $(...), etc.
    $('_class.noobSlide.packed.js').hide();
</script> 
<script type="text/javascript" src="<?php echo this->baseurl; ?>/templates/
<?php echo $this->template ?>/js/_class.noobSlide.packed.js" >
</script>

任何想法?

2 个答案:

答案 0 :(得分:0)

Prototype无法与Mootools一起使用,Mootools会加载到您的页面上(可能直接由Joomla加载)

也许这就是你问题背后的原因......

答案 1 :(得分:0)

你应该在mootools之后使用jQuery。您可以通过此代码确保mooools首先被加载(在模块中或在组件的视图中使用它)

JHTML::_('behavior.mootools');
$doc = &JFactory::getDocument();
....
$doc->addScript( "https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" );
$doc->addScriptDeclaration('jQuery.noConflict();'); 
$doc->addScriptDeclaration(" 
   jQuery(document).ready(function(){
       alert('jo');
    });"
 );

这是joomla 1.5的代码,不知道1.6中的函数是否相同。