2013-03-01 78 views
-3

開始我有兩個函數,開始喜歡這個兩個功能使用jQuery不工作

功能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

措辭有些尷尬,你的意思是你已經發布的代碼* does *工作,但如果你用''替換'jQuery',它會停止工作? – 2013-03-01 15:23:46

+0

控制檯中的任何錯誤? – romainberger 2013-03-01 15:24:22

+0

你能證實我之前評論中的假設是正確的嗎?我想編輯這個問題以使其更清楚,但我不想這麼做,直到你說出這就是你的意思。 – 2013-03-01 15:43:36

回答

2

快速谷歌搜索顯示,jQuery是不是正在使用的Joomla唯一的JavaScript框架,而且它還採用了MooTools的 - 我沒有任何與Joomla自己的經驗,所以我不能證實這一點。如果是這種情況,那麼jQuery可能處於「無衝突」模式,並且$將不會映射到jQuery函數。

你可以做的是這樣的:

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

這是一個立即調用的函數表達式,它通過jQuery作爲參數傳遞給$參數。其結果是它創建了一個閉包,其中$jQuery將是相同的,即使它們不在外面。

0

你在使用更多的庫嗎?看起來像碰撞到我。

嘗試在這個包裝代碼:

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