首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery accordion和thickbox冲突

Jquery accordion和thickbox冲突
EN

Stack Overflow用户
提问于 2009-05-13 06:09:46
回答 2查看 2.3K关注 0票数 1

我在同一页上使用厚框和手风琴时遇到了问题。我已经检查过它们是否都使用最新版本的jquery。下面是我包含的内容。不包含其他jscript文件。如果这会导致问题,我会在wordpress模板上使用它。

代码语言:javascript
复制
<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" />

下面是对accordion的调用:

代码语言:javascript
复制
$(document).ready(function () {
 $('#sidebar ul').accordion();
 });

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-05-13 08:35:39

您的代码包含对两个版本的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+,但这可以通过changing a single line in thickbox.js轻松修复,网址为:

代码语言:javascript
复制
TB_TempArray = $("a[@rel="+imageGroup+"]").get();

代码语言:javascript
复制
TB_TempArray = $("a[rel="+imageGroup+"]").get();
票数 4
EN

Stack Overflow用户

发布于 2009-05-13 06:31:02

我不知道你为什么要在你的网站上使用noConflict函数--这是为了禁用jQuery中的$快捷方式,这样它就可以和Prototype这样的冲突库一起使用了。由于您的站点似乎只使用基于jQuery的代码,因此您不需要这样做。

禁用$快捷方式会在Thickbox的代码中导致致命错误,这反过来会导致整个页面的JS崩溃。

试着去掉noConflict代码,直接调用accordian函数,如下所示:

代码语言:javascript
复制
 $(document).ready(function () {
     $('#sidebar ul').accordion();
 });

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/856320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档