Discuz 程式本身使用了"$()" 作為對象選取函數,剛好與jQuery默認的$()函數重合造成衝突 , 要解決這個問題其實很簡單 , 我們只需要再 jQuery 的各種功能套件程序前 , 先加入以下防衝突函數 , 即可達成在Discuz中使用各種 jQuery 效果:- var jq = jQuery.noConflict();
複製代碼 此防衝突函數的意義在於把jQuery的 $ 函數改成以 jq替代 , 這樣就可以避免掉與許多程式使用相同變數起衝突的問題 ~
因此加入以上程式碼後 , 透過 Dreamweaver 或是其它編輯軟體 , 查找你要使用的jQuery功能套件中 , 所有的 "$" 函數符號 , 並將它取代成 "jq" 即可。
查看以下真實範例 , 應該會更清楚一些:
防衝突前
- <script type="text/javascript">
- $(document).ready(function() {
- $('#hiddenbox').hide();
- $('a#jqtextcall').click(function() {
- $('#hiddenbox').slideToggle(400);
- return false;
- });
- });
- </script>
複製代碼 防衝突後
- jq(document).ready(function() {
- jq('#hiddenbox').hide();
- jq('a#jqtextcall').click(function() {
- jq('#hiddenbox').slideToggle(400);
- return false;
- });
- });
複製代碼 透過以上案例相信大家應該更清楚實際上的使用方式 ..
|