9

我正在使用 T3 框架开发 Joomla 3 模板,并且包含一个IceCarousel使用该Flexslider插件的模块。但是,该IceCarousel模块不工作,因为有一个 javascript 错误说:

$(...).flexslider is not a function
Line 477

我查看了页面源代码,flexslider 源文件肯定在那里。Joomla 3还有一个/media/jui/jquery-noconflict.js标准文件。我不确定这是否是导致问题的原因。这是javascript文件堆叠顺序的问题吗?

http://www.veterantrainingsymposium.com/2014-home-page

4

5 回答 5

23

您已经定义了 jquery 两次。删除一个 jquery http://gyazo.com/c784a654eefe6e1b6ac061e562f3f051

于 2013-08-09T14:04:19.143 回答
1

我遇到了同样的问题并修复了它。我只使用了 jquery.js 文件的一个实例,但仍然遇到同样的问题。

经过自我调查,我终于找到了问题并修复了它,请记住不要在以下 2 个文件中使用 defer 或 async 关键字:

1- jquery.flexslider-min.js

2- jquery.prettyPhoto.js

于 2017-01-11T18:14:01.253 回答
0

尝试简化代码以测试是否存在时间问题,例如:

$(document).ready(function() {
$('#icecarousel119').flexslider({
    selector: ".slides > div", 
    animation: "slide",
    direction: "horizontal",
    itemWidth:90,
    slideshowSpeed:5000, 
    animationspeed:600,  
    itemMargin:0,
    minItems:1,
    maxItems:0, 
    move: 0,    

            slideshow: false,

            directionNav: true,

            controlNav: true,

    start: function(slider){
      $('body').removeClass('loading');
    }
  });
});

});

此外,flexslider 示例使用类,而不是 id(尽管我认为这不是导致问题的原因)

于 2013-08-09T14:51:57.683 回答
0

对于使用 Wordpress 并收到此错误的人:

确保 FlexSlider js 的链接(即:)<script defer src="<?php bloginfo('template_url'); ?>/js/jquery.flexslider-min.js"></script>在下方<?php wp_head(); ?>

这适用于在 header.php 文件中加载脚本。更好的做法是将所有 js 加载到页脚中,但在某些情况下您可能无法控制它。

希望这对其他人有所帮助,因为它帮助了我:)

于 2017-05-11T10:59:20.777 回答
0

我使用的是 WordPress 插件(Meta-Slider),它不包含 Jquery Flexslider 模块。

从这里下载: https ://github.com/woocommerce/FlexSlider

添加到我的项目中,在正常的 Jquery 之后添加到我的标题中......

    <script src="<?php echo get_bloginfo('template_directory'); ?>/js/jquery-3.2.1.min.js"></script>
    <script src="<?php echo get_bloginfo('template_directory'); ?>/js/jquery.flexslider-min.js"></script>

然后摆脱了之后出现的其他一些错误的 JS 代码,它正在工作。

于 2017-05-08T10:42:34.663 回答