2017-10-15 84 views
0

我正在處理這個好奇的問題好幾天了,我真的不明白爲什麼會發生這種情況。jQuery插件是未定義的,雖然在我的js代碼之前被正確包含了

基本上,環境是WordPress和我其中包括兩個js文件:

vendor.js -> generated by gulp and all it does is concatenating bower libs together

myScript.js -> my code

我所知道的(與證明):

  • 廠商文件包含我的代碼之前(從檢查控制檯)
  • 我正在使用的插件包含在vendor.js中(在chrome的新標籤中打開文件)
  • 這兩個文件都正確加載(我打印了一些debu g控制檯日誌和他們在控制檯)

但即使一切看起來都很好,插件仍然是未定義的,無論出於何種原因。 我使用這個插件是這一個:https://github.com/idiot/unslider

和我越來越控制檯中的錯誤是這樣的:

Uncaught ReferenceError: unslider is not defined

這是我的代碼,我打電話需要這個插件的部分:

jQuery(document).ready(function($) { 
    console.log("unslider is ", unslider); 
    $('#topBannerSlider').unslider({ 
    autoplay: true, 
    delay: 10000, 
    keys: true, 
    nav: true, 
    arrows: { 
     prev: '<a class="unslider-arrow prev fa fa-arrow-circle-left"></a>', 
     next: '<a class="unslider-arrow next fa fa-arrow-circle-right"></a>' 
    } 
    }); 

    $('#homePageTestimonialsCarousel').unslider({ 
    autoplay: true, 
    delay: 20000, 
    keys: true, 
    nav: true, 
    arrows: false 
    }); 
} 

和它同樣的,如果我嘗試之前jQuery(document).ready()事件加載它,就像這樣:

console.log("unslider is ", unslider); 
jQuery(document).ready(function($) { 
    $('#topBannerSlider').unslider({ 
    autoplay: true, 
    delay: 10000, 
    keys: true, 
    nav: true, 
    arrows: { 
     prev: '<a class="unslider-arrow prev fa fa-arrow-circle-left"></a>', 
     next: '<a class="unslider-arrow next fa fa-arrow-circle-right"></a>' 
    } 
    }); 

    $('#homePageTestimonialsCarousel').unslider({ 
    autoplay: true, 
    delay: 20000, 
    keys: true, 
    nav: true, 
    arrows: false 
    }); 
} 

你有什麼建議嗎?我還可以嘗試什麼?它還能是什麼?我很困難,任何幫助將非常感激。非常感謝

+0

檢查這些腳本正在加載的順序,首先包括jQuery,然後是unslider,然後是你的js代碼。 – derloopkat

+0

嗨,我檢查了它,一切都按照正確的順序..這就是爲什麼我在他們加載unslider.js代碼樣本後在我的代碼示例 – Nick

+0

中很奇怪,在定義了html之後,你是否也這樣做? – derloopkat

回答

2

如果我得到這個權利,你說的WordPress,所以儘量

jQuery insted的的$

我以前有這個問題,這解決它。

WordPress,PHP,JQuery和$不混用;)。

+0

之外,在控制檯中沒有其他問題我不相信,但是這實際上解決了問題!真的很奇怪,但嘿,謝謝你救了我的週末:) – Nick

+0

隨時隨地;) –

相關問題