jQuery(“#mycarousel”)。jcarousel不是一个函数

时间:2012-01-28 20:55:40

标签: jquery jcarousel

我必须在这里做一些非常愚蠢的事情,但是我已经打了一会儿反对它,我一直无法找到错误。

在此页面上: http://ww2.accudata.com/

我正在尝试实现jCarousel,并且我一直收到此错误:

  

jQuery(“#mycarousel”)。jcarousel不是函数

以下是我在标题中的内容:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js?ver=1.6.4"></script>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery.jcarousel.min.js"></script>
<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/js/skins/carousel/skin.css" />

<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('#mycarousel').jcarousel({

});
});
</script>

据我所知,我正在以正确的顺序加载所有脚本,并且我已经验证它们都在那里。那为什么它说这不是一个功能?

3 个答案:

答案 0 :(得分:8)

在第39行,您正在重新加载jQuery,它会覆盖jQuery对象,删除.jcarousel函数。确保只加载jQuery

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js?ver=1.6.4"></script>
<script type="text/javascript" src="http://ww2.accudata.com/wp-content/themes/accudata/js/jquery.jcarousel.min.js"></script>
<link rel="stylesheet" type="text/css" href="http://ww2.accudata.com/wp-content/themes/accudata/js/skins/carousel/skin.css" />

<script type="text/javascript">
jQuery(document).ready(function() {
    jQuery('#mycarousel').jcarousel({ //Would work if you called it here, but it gets deferred until the DOM is loaded

    });
});
</script>

...

<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js?ver=1.6.4'></script>
<!-- This gets loaded after you load the plugin, overwriting the jQuery object -->

答案 1 :(得分:2)

您收到jcarousel函数未知的错误,这意味着未正确加载具有js函数的jcarousel文件。 (对JQuery本身的引用有效,因为jQuery(document).ready...没有给您错误)

查看呈现的HTML并查看文件的路径是否与其实际位置匹配。 (他们不是......)

顺便问一下,为什么不使用JQuery别名$
 jQuery('#mycarousel') =&gt; $('#mycarousel')

JQuery口号是“少写更多

答案 2 :(得分:2)

您看到的错误基本上意味着:

"we tried looking for the jcarousel function, and couldn't find it."

打开页面源并查看正在呈现的HTML。您是否正确了.js文件的路径以及您的期望?大多数情况下,这是造成这类问题的原因。

因此,一旦您确定您对.js文件的引用是正确的,请尝试以下方法:

<script type="text/javascript">
    $(document).ready(function() {
        $('#mycarousel').jcarousel({
            //Settings here.
        }); 
    });
</script>