Javascript 获取未捕获类型错误:未定义不是nivo slider.js中的函数

Javascript 获取未捕获类型错误:未定义不是nivo slider.js中的函数,javascript,jquery,drupal,nivo-slider,Javascript,Jquery,Drupal,Nivo Slider,我正在尝试将nivo滑块放在我的drupal主页上。虽然所有的图像都在显示,但它们没有滑动,当我检查控制台时,我在nivo-slider.js文件中看到一个错误,即 "Uncaught TypeError: undefined is not a function" 我的nivo-slider.js代码是- (function ($) { Drupal.behaviors.nivoSlider = { attach: function (context, settings) {

我正在尝试将nivo滑块放在我的drupal主页上。虽然所有的图像都在显示,但它们没有滑动,当我检查控制台时,我在nivo-slider.js文件中看到一个错误,即

"Uncaught TypeError: undefined is not a function"
我的nivo-slider.js代码是-

(function ($) {
  Drupal.behaviors.nivoSlider = {
    attach: function (context, settings) {
      // Initialize the slider
      $('#slider').nivoSlider({ *//here I am getting error mentioned above*
        'effect': Drupal.settings.nivo_slider.effect, // Specify sets like: 'fold,fade,sliceDown'
        'slices': Drupal.settings.nivo_slider.slices, // For slice animations
        'boxCols': Drupal.settings.nivo_slider.boxCols, // For box animations
        'boxRows': Drupal.settings.nivo_slider.boxRows, // For box animations
        'animSpeed': Drupal.settings.nivo_slider.animSpeed, // Slide transition speed
        'pauseTime': Drupal.settings.nivo_slider.pauseTime, // How long each slide will show
        'startSlide': Drupal.settings.nivo_slider.startSlide, // Set starting Slide (0 index)
        'directionNav': Drupal.settings.nivo_slider.directionNav, // Next & Prev navigation
        'directionNavHide': Drupal.settings.nivo_slider.directionNavHide, // Only show on hover
        'controlNav': Drupal.settings.nivo_slider.controlNav, // 1,2,3... navigation
        'controlNavThumbs': Drupal.settings.nivo_slider.controlNavThumbs, // Use thumbnails for Control Nav
        'pauseOnHover': Drupal.settings.nivo_slider.pauseOnHover, // Stop animation while hovering
        'manualAdvance': Drupal.settings.nivo_slider.manualAdvance, // Force manual transitions
        'prevText': Drupal.settings.nivo_slider.prevText, // Prev directionNav text
        'nextText': Drupal.settings.nivo_slider.nextText, // Next directionNav text
        'randomStart': Drupal.settings.nivo_slider.randomStart, // Start on a random slide
        'beforeChange': Drupal.settings.nivo_slider.beforeChange, // Triggers before a slide transition
        'afterChange': Drupal.settings.nivo_slider.afterChange, // Triggers after a slide transition
        'slideshowEnd': Drupal.settings.nivo_slider.slideshowEnd, // Triggers after all slides have been shown
        'lastSlide': Drupal.settings.nivo_slider.lastSlide, // Triggers when last slide is shown
        'afterLoad': Drupal.settings.nivo_slider.afterLoad // Triggers when slider has loaded
      });
    }
  };
}(jQuery));


帮我找出这个错误…谢谢

将jquery.js主文件包含在任何js之前的头文件中

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 

我以前也遇到过类似的问题。这个问题可以通过使用Drupal7中的Jquery更新模块并将Jquery库的版本设置为1.9及以上来解决


如果有任何疑问,请告诉我。另外请注意,在Drupal中,您不应该显式添加Jquery库,因为Drupal core默认添加Jquery库

当您尝试在头部添加jquery.js时

现在将有2个jquery库&它们将发生冲突


因此,我们需要使用jquery更新模块来升级库

另一个可能的候选者使用$(美元)来引用jquery:

如果改为在脚本中使用无冲突引用,如下所示,这可能会修复错误

jQuery(document).ready(function(){
    // Target your .container, .wrapper, .post, etc.
    jQuery("#main-content").fitVids();
  });

我在Drupal7上配置Nivo视图滑块时遇到了一些问题。 起初我没有阅读模块的文档,但看起来Nivo Slider的库没有包含在包中,您需要手动将其上载到服务器。 以下是文件: 总而言之:

  • 安装/启用库API
  • 从下载Nivo滑块库
  • 将存档解压缩到站点/all/libraries/nivo滑块
  • 在第2步中,您必须在版本2.x或3.x之间进行选择
    在模块的项目页面上,它说Google Chrome可能会破坏3.x版,我自己也没有任何问题…

    你能从控制台上给出错误行吗?看起来不错,请确保在运行此插件之前导入了drupal nivo_slider插件。是的,我已将其导入到模块文件夹中。首先将jquery.js主文件包含在其js错误中,与Rupal Framework无关,尽管我已经在标题中添加了jquery.min.js,但将其替换为您的脚本,但不起作用。请提供控制台错误的屏幕截图。如果您真的想在添加$.noConflict()后获得answer.its js文件冲突api.jquery.com/jquery.noConflict/check,请不要犹豫,提供尽可能多的错误详细信息;现在它显示未捕获的TypeError:无法读取未定义的属性“noConflict”。您好,请提供您站点的URL,plzI收到此错误,但使用jquery更新没有帮助。你有什么想法吗?
      $(document).ready(function(){
        // Target your .container, .wrapper, .post, etc.
        $("#main-content").fitVids();
      });
    
    jQuery(document).ready(function(){
        // Target your .container, .wrapper, .post, etc.
        jQuery("#main-content").fitVids();
      });