TypeError:$(…)。cycle不是JSF应用程序中的函数:jQuery cycle

TypeError:$(…)。cycle不是JSF应用程序中的函数:jQuery cycle,jquery,jsf,jquery-cycle,Jquery,Jsf,Jquery Cycle,我想在JSF应用程序的一个页面中使用jquery循环。 我在本地主机上安装了jquery表单google和jquery.cycle.all.js文件,另外还有一个包含jquery cycle幻灯片脚本的js文件,我在页面中分别安装了这些文件。但是,幻灯片放映不起作用。下面我包括firebug错误和我的代码: 我的xhtml页面: <h:form> <div>

我想在JSF应用程序的一个页面中使用jquery循环。 我在本地主机上安装了jquery表单google和jquery.cycle.all.js文件,另外还有一个包含jquery cycle幻灯片脚本的js文件,我在页面中分别安装了这些文件。但是,幻灯片放映不起作用。下面我包括firebug错误和我的代码:

我的xhtml页面:

<h:form>
                                        <div>
                                            <div id="view-slider" class="pics">
                                                <img src="#{request.contextPath}/resources/images/1.jpg" width="400" height="200"/> 
                                                <img src="#{request.contextPath}/resources/images/2.jpg" width="400" height="200"/>  
                                            </div>
                                            <ul id="thumbnails"></ul>
                                        </div>
                                    </h:form>
                                    <br/>
                                    <p:separator/>
                                    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" ></script> 
                                    <h:outputScript name="js/jquery-cycle-all.js"/>
                                    <h:outputScript name="js/view-slides.js"/> 
到目前为止,我尝试了以下方法,但没有成功:

将我的脚本包装在函数中。 检查了加载顺序,结果是:jsf.js、jquery、jquery.cycle、view-slides.js 在一个普通的html文件中测试了这个脚本,它成功了

额外信息: 我有一个模板,其中包含来自谷歌的同一版本jquery.js文件,还有一个tabs.js脚本。这些也已加载,选项卡正在工作。我把这些也插入到我的html文件中,效果很好。 我从xhtml文件中删除了jquery,因为我在模板中有它,它给了我jquery未找到的错误

我不知道这是否是一个相互冲突的问题,如果是,它与什么冲突


感谢您的回复。

这些jQuery函数上的
TypeError
错误通常是由webapp加载了重复的不同版本的jQuery JS文件引起的。PrimeFaces作为一个基于jQuery的JSF组件库,已经自动加载了jQuery本身。因此,您不需要通过
/
手动将另一个jQuery JS文件加载到PrimeFaces文件之上。如果将其删除,则此错误将消失

如果您碰巧有一个页面,其中您想使用一些jQuery,但是该页面本身没有使用任何PrimeFaces组件,因此不一定自动加载PrimeFaces绑定的jQuery,那么您可以通过添加以下行来显式地自己加载它:

<h:outputScript library="primefaces" name="jquery/jquery.js" target="head" />


这将显式加载PrimeFaces库绑定的jQuery文件。注意:当
target=“head”
已经在
中时,可以省略它。否则,例如,当位于模板客户端的
内时,它将自动重新定位到头部。另一个注意事项:您可以在实际需要PrimeFaces绑定jQuery的页面中安全地使用这一行。它不会以二次加载结束。

您确定
jquery.cycle.all.js
加载正确吗?PrimeFaces作为基于jquery的JSF组件库已经与jquery捆绑在一起。您的问题表明您手动加载了另一个文件,实际上导致加载了两个物理上不同的
jquery.js
文件,可能相互冲突。这是真的吗?为什么不仅仅依靠PrimeFaces绑定的jQuery呢?或者你真的完全忽略了JSF和PrimeFaces的全部要点吗?是的,Mike W我的jquery循环文件正在加载。非常感谢@BalusC,我也试过了。但是我忘了删除我在模板中使用的脚本链接。我把它取下来,问题就解决了。请将您的评论移至回答,以便我可以接受。
TypeError: $(...).cycle is not a function
view-slides.js.xhtml (line 17)
<h:outputScript library="primefaces" name="jquery/jquery.js" target="head" />