2012-01-30 114 views
14

fancybox(2.x)我真的很奇怪。我使用這個腳本的年齡,但我沒有經歷過這樣的問題。Uncaught TypeError:Object [object Object] has no method「fancybox」

所以,我的網站:http://tinyurl.com/6mx7an8和手冊說,但JS控制檯給我的錯誤

Uncaught TypeError: Object [object Object] has no method 'fancybox'

你有任何想法,我在做什麼錯了,我已經包括了每一個jQuery的/的fancybox文件? 任何幫助,將不勝感激:)

回答

53

在您的網站有幾個問題。

  1. 您在包含fancybox插件js之前和之後包含jQuery庫2次,因爲添加的插件被第二個jQuery庫包含清除。
  2. 還有一些其他庫被覆蓋$,所以你的代碼不工作,因爲$不再是jQuery的別名。您可以使用jQuery.noConflict()以避免與使用相同變量$的頁面上的其他庫衝突。
+5

是的,它是由jQuery庫造成包含兩次(我沒有注意到這一點)。謝謝 ! – mbajur 2012-01-30 22:04:49

+1

是的,我沒有注意到它,thanx和+1 – Sam 2012-06-04 06:51:54

+0

謝謝,幫我也 – doniyor 2014-02-10 02:34:35

6

看起來像jQuery是包括兩次,一次接近頂部的頭部和一次接近底部。

1

我有一個css統一在我的網站上的php腳本,將jquery和jquery postmessage插件添加到同一個javascript文件中。

所以它給了我上面的錯誤。

我已經加載了jquery postmessage而沒有統一它,它停止給我的錯誤。

2

我有一個類似的問題。不知何故,jQuery被加載兩次。在測試某些內容時發現,我添加了一個drupal_add_js行來在塊中加載jquery,該塊已禁用,但Drupal仍在禁用塊中評估PHP。

當我從塊中刪除drupal_add_js行時,jQuery加載罰款,每頁一次。

0

我得到了它與此代碼

<script type="text/javascript"> 
    (function($) { 
     $(document).ready(function() { 
      $("a#fancyBoxLink").fancybox({ 
       'href' : '#popupvid', 
       'titleShow' : false, 
       'transitionIn' : 'elastic', 
       'transitionOut' : 'elastic' 
      }); 

     }); 
    })(jQuery);  
</script> 
0

jQuery的子庫的工作可以包括在主庫,例如jquery.ui.sortable.js我已經包含在jQuery的ui.js同時下載和我加入它再次給我一個錯誤。

腳本類型= 「文本/ JavaScript的」 SRC = 「供應商/ JS/jQuery的ui.js」>

腳本類型= 「文本/ JavaScript的」 SRC =「供應商/ JS/jquery.ui.sortable .js文件「>

因此驗證包括或不包括子庫

相關問題