我必须在这里做一些非常愚蠢的事情,但是我已经打了一会儿反对它,我一直无法找到错误。
在此页面上: 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>
据我所知,我正在以正确的顺序加载所有脚本,并且我已经验证它们都在那里。那为什么它说这不是一个功能?
答案 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>