Jquery手风琴和厚框碰撞

Jquery手风琴和厚框碰撞,jquery,accordion,thickbox,Jquery,Accordion,Thickbox,我在同一页上使用thickbox和accordion时遇到问题(它们都不起作用)。我已经检查过它们是否都使用最新版本的jquery。以下是我的收入。没有包含其他jscript文件。我在wordpress模板上使用这个,如果这会导致问题的话 <script type="text/javascript" src="<?php bloginfo('url'); ?>/wp-content/themes/foxintouch/javascript/jquery-1.3.2.min.js

我在同一页上使用thickbox和accordion时遇到问题(它们都不起作用)。我已经检查过它们是否都使用最新版本的jquery。以下是我的收入。没有包含其他jscript文件。我在wordpress模板上使用这个,如果这会导致问题的话

<script type="text/javascript" src="<?php bloginfo('url'); ?>/wp-content/themes/foxintouch/javascript/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="<?php bloginfo('url'); ?>/wp-content/themes/foxintouch/javascript/jquery.accordion-1.2.2.js"></script>
<script type="text/javascript" src="<?php bloginfo('url'); ?>/wp-content/themes/foxintouch/javascript/jquery.accordion-1.2.2.source.js"></script>

<!-- thickbox -->

<script type="text/javascript" src="<?php bloginfo('url'); ?>/wp-content/themes/foxintouch/javascript/thickbox/thickbox.js"></script>
<link rel="stylesheet" href="<?php bloginfo('url'); ?>/wp-content/themes/foxintouch/javascript/thickbox/thickbox.css" type="text/css" media="screen" />
我的网站的url是
任何帮助都将不胜感激。谢谢

我不知道你为什么要在你的网站上使用noConflict功能-这是为了在jQuery中禁用$shortcut,以便它可以与Prototype这样的冲突库一起使用。因为您的站点似乎只使用基于jQuery的代码,所以您不需要这样做

禁用$shortcut会在Thickbox的代码中导致致命错误,从而导致整个页面的JS崩溃

尝试摆脱无冲突代码,直接调用accorbian函数,如下所示:

 $(document).ready(function () {
     $('#sidebar ul').accordion();
 });

另外,您不应该同时包含jquery.accordion-1.2.2.js和jquery.accordion-1.2.2.source.js,只需单独使用压缩版本jquery.accordion-1.2.2.js。

我不知道您为什么在站点上使用noConflict函数-这是为了禁用jquery中的$shortcut,以便它可以与Prototype等冲突库一起使用。因为您的站点似乎只使用基于jQuery的代码,所以您不需要这样做

禁用$shortcut会在Thickbox的代码中导致致命错误,从而导致整个页面的JS崩溃

尝试摆脱无冲突代码,直接调用accorbian函数,如下所示:

 $(document).ready(function () {
     $('#sidebar ul').accordion();
 });

另外,您不应该同时包含jquery.accordion-1.2.2.js和jquery.accordion-1.2.2.source.js,只需使用压缩版本jquery.accordion-1.2.2.js即可。

您的代码中包含了对两个版本jquery库的引用。第一个库(jquery-1.3.2.min.js)通过accordion插件进行了扩展,但随后被第二个库(jquery.js)覆盖

这打破了你的
$('#边栏ul')。手风琴()代码,因为第二个jquery库没有包含
accordion
函数的定义(只有第一个jquery库使用accordion插件进行了扩展)

删除第二个jquery库后,thickbox停止工作,因为thickbox 3.1不支持jquery 1.3+,但这可以通过以下方式轻松解决:


您的代码包括对两个版本的jquery库的引用。第一个库(jquery-1.3.2.min.js)通过accordion插件进行了扩展,但随后被第二个库(jquery.js)覆盖

这打破了你的
$('#边栏ul')。手风琴()代码,因为第二个jquery库没有包含
accordion
函数的定义(只有第一个jquery库使用accordion插件进行了扩展)

删除第二个jquery库后,thickbox停止工作,因为thickbox 3.1不支持jquery 1.3+,但这可以通过以下方式轻松解决:


嗯,这解决了thickbox的问题,但手风琴仍然不会演奏得很好。它是永久性扩展的。使用firebug时,我还收到一个错误,上面写着“$(“#sidebar ul”)。accordion不是一个函数。我认为问题在于您有两个jquery脚本。尝试删除“jquery.js”脚本。你能指出一个在你的站点上使用thickbox的例子吗?我找不到任何。Thickbox不适用于jQuery 1.3+,但您可以通过更改Thickbox中的一行来轻松解决这一问题。js:好吧,这解决了Thickbox的问题,但手风琴仍然不会演奏得很好。它是永久性扩展的。使用firebug时,我还收到一个错误,上面写着“$(“#sidebar ul”)。accordion不是一个函数。我认为问题在于您有两个jquery脚本。尝试删除“jquery.js”脚本。你能指出一个在你的站点上使用thickbox的例子吗?我找不到任何。Thickbox不适用于jQuery 1.3+,但您可以通过更改Thickbox.js中的一行来轻松解决此问题:
TB_TempArray = $("a[@rel="+imageGroup+"]").get();
TB_TempArray = $("a[rel="+imageGroup+"]").get();