我在同一页面上使用厚盒和手风琴时遇到问题,即它们都不起作用。我检查过他们都使用最新版本的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" />

这是对手风琴的调用:

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

我的网站的网址是 http://clients.bionic-comms.co.uk/fox/foxintouch-wp/issue/13/wesco-new-range/任何帮助将非常感激。谢谢

有帮助吗?

解决方案

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

这打破了你的 $('#sidebar ul').accordion(); 代码,因为第二个 jquery 库不包含 accordion 函数(只有第一个 jquery 库使用 Accordion 插件进行了扩展)。

一旦你删除了第二个 jquery 库,thickbox 就停止工作了,因为 Thickbox 3.1 不支持 jQuery 1.3+,但这可以通过以下方式轻松修复: 更改 Thickbox.js 中的一行 从:

TB_TempArray = $("a[@rel="+imageGroup+"]").get();

TB_TempArray = $("a[rel="+imageGroup+"]").get();

其他提示

我不知道为什么你使用网站上的noConflict函数 - 这是为了jQuery中禁用$快捷方式,它可以与冲突的库,例如原型使用。由于您的网站只似乎是使用基于jQuery的代码,你不需要这个。

具有$快捷禁用在用于ThickBox的代码,而这又崩溃JS为整个页面造成致命的错误。

尝试摆脱noConflict代码的,只是直接调用手风琴函数,如下所示:

 $(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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top