两个函数启动时Jquery无法正常工作

时间:2013-03-01 15:21:28

标签: jquery joomla

我有两个像这样开始的功能

功能1:

jQuery(function() {
    jQuery('.fancypantsaccordionholder').accordion({
        oneOpenedItem:true,
        speed:300,
        scrollSpeed:300,
        open:0          
    });
});

功能2

jQuery(document).ready(function(){
    jQuery('#sidepanel_jt').tabSlideOut({
       tabHandle: '.handle',                            
       pathToTabImage:'',
       imageHeight: '',                               
       imageWidth: '',                                    
       tabLocation: '<?php echo $panel_position;?>',                             
       speed: <?php echo $speed;?>,                                       
       action: 'click',                                 
       topPos: '<?php echo $topposition;?>px',                               
       fixedPosition: true                          
    });
});

但如果我将$放在一个函数中,即使它不起作用,它也无法使用这两个相同的jquery函数名。

请帮帮我们。

2 个答案:

答案 0 :(得分:2)

快速谷歌搜索表明,jQuery并不是Joomla使用的唯一JavaScript框架,它也使用MooTools - 我自己没有Joomla的经验,所以我无法证实这一点。如果是这种情况,则jQuery可能处于“无冲突”模式,$将不会映射到jQuery函数。

你能做的是:

(function($) {
    // your code here using $ in place of jQuery
})(jQuery);

这是一个立即调用的函数表达式,它将jQuery作为参数传递给$参数。结果是它创建了一个闭包,其中$jQuery将是相同的,即使它们不在外面。

答案 1 :(得分:0)

你正在使用更多的图书馆吗?看起来像碰撞我。

尝试将代码包装在此:

(function($) {
  //your code
})(jQuery);