jQuery插件是未定义的,尽管在我的js代码之前已正确包含

时间:2017-10-15 09:50:06

标签: javascript jquery wordpress jquery-plugins

我正在研究这个相当奇怪的问题好几天了,我真的不明白为什么会这样。

基本上,环境是WordPress,我包含两个js文件:

  

vendor.js - >由gulp生成,它所做的只是连接凉亭   libs在一起

     

myScript.js - >我的代码

我所知道的(有证据):

  • 供应商文件包含在我的代码之前(从控制台检查)
  • 我使用的插件包含在vendor.js中(在chrome的新标签页中打开文件)
  • 两个文件都正确加载(我打印了一些调试控制台日志,它们在控制台中)

但即使一切看起来都不错,插件仍然无法用于任何原因。 我使用的插件就是这个:https://github.com/idiot/unslider

我在控制台中遇到的错误是:

  

未捕获的ReferenceError:未定义unslider

这是我调用并需要此插件的代码的一部分:

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

你有什么建议吗?我还能尝试什么?还有什么呢?我真的被困住了,任何帮助都会非常感激。非常感谢

1 个答案:

答案 0 :(得分:2)

如果我说得对,你就说WordPress,所以试试

jQuery $

之前我遇到过这个问题并且修复了它。

WordPress,PHP,JQuery和$ don&t;混合;)。