-3

このように始まる2つの関数があります

機能 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                          
    });
});

しかし、機能していなくても、$を1つの関数に配置すると、この2つの同じjquery関数名では機能しません。

みんな助けてください。

4

2 に答える 2

2

Google で簡単に検索すると、Joomla で使用されている JavaScript フレームワークは jQuery だけではなく、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 に答える