-3

我有两个这样开始的功能

功能一:

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

功能二

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 函数名称。

请帮助各位。

4

2 回答 2

2

快速的 Google 搜索表明 jQuery 不是 Joomla 使用的唯一 JavaScript 框架,而且它还使用 MooTools - 我自己对 Joomla 没有任何经验,所以我无法确认这一点。如果是这种情况,那么 jQuery 很可能处于“无冲突”模式,并且$不会映射到jQuery函数。

你可以做的是:

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

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

于 2013-03-01T15:26:50.807 回答
0

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

尝试将您的代码包装在此:

(function($) {
  //your code
})(jQuery);
于 2013-03-01T15:25:26.987 回答