jQuery(“mycarousel”).jcarousel不是函数

jQuery(“mycarousel”).jcarousel不是函数,jquery,jcarousel,Jquery,Jcarousel,我一定是在做一些很愚蠢的事情,但我已经用头撞了一段时间了,我一直没能找到哪里出了问题 在本页上: 我正在尝试实现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"></sc

我一定是在做一些很愚蠢的事情,但我已经用头撞了一段时间了,我一直没能找到哪里出了问题

在本页上:

我正在尝试实现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>


您得到一个错误,即
jcarousel
函数未知,这意味着带有
jcarousel
函数的
js
文件未正确加载。(对
JQuery
本身的引用是有效的,因为
JQuery(document).ready…
没有给您错误信息)

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

顺便问一下,为什么不使用JQuery别名
$

jQuery('mycarousel')
=>
$('mycarousel')


JQuery的口号是“少写多做”

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

"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>

$(文档).ready(函数(){
$('mycarousel').jcarousel({
//设置在这里。
}); 
});

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


jQuery(文档).ready(函数(){
jQuery('#mycarousel').jcarousel({//)如果在这里调用它,它会工作,但是它会延迟到加载DOM之后
});
});
...

啊,这很有道理。问题是,第二个jQuery是由WordPress插件加载的,我无法控制jQuery在头中加载的位置。我想有一些解决办法-我会玩这个,看看我能做些什么。是的,这就是问题所在-我把我的函数移到了标题的下方,现在一切都好了。我知道这一定很简单。如果其他人在WordPress中有这样的问题,请将您的脚本移动到wp_头下方,以便最后加载。
<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 -->