JQuery Akkordeon und thickbox Zusammenstoß
Frage
ich habe ein Problem mit thickbox und Akkordeon auf der gleichen Seite, dh keiner von ihnen arbeiten. Ich habe überprüft, dass sie beide die neueste Version von jQuery verwenden. Hier sind meine enthält. Es gibt keine andere jscript-Dateien enthalten. Ich benutze diese auf einer Wordpress-Vorlage, wenn dies ein Problem verursachen kann.
<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" />
Hier ist der Aufruf zum Akkordeon:
$(document).ready(function () {
$('#sidebar ul').accordion();
});
Die URL meiner Seite ist
Lösung Ihr codiert enthalten Verweise auf zwei Versionen von jQuery-Bibliothek. Das erste (jquery-1.3.2.min.js) wurde mit der Ziehharmonika-Plugin erweitert, aber dann wurde es von der zweiten Bibliothek (jquery.js) überschreibt. Dies brach Ihren Wenn Sie die zweite jQuery-Bibliothek entfernt die thickbox aufgehört zu arbeiten, weil thickbox 3.1 nicht jQuery unterstützen 1.3+ aber dieses Problem behoben werden kann leicht durch eine einzige Zeile in thickbox.js ändert: $('#sidebar ul').accordion();
Code, weil die zweite jQuery-Bibliothek nicht eine Definition für die accordion
Funktion (nur die erste jQuery-Bibliothek wurde mit der Akkordeon-Plugin erweitert). TB_TempArray = $("a[@rel="+imageGroup+"]").get();
TB_TempArray = $("a[rel="+imageGroup+"]").get();
Andere Tipps
Ich bin nicht sicher, warum Sie die noConflict Funktion auf Ihrer Website verwenden - dies sollte die $ Abkürzung in jQuery deaktivieren, so dass es mit widersprüchlichen Bibliotheken wie Prototype verwendet werden kann. Da nur Ihre Website scheint jQuery-basierten Code zu verwenden, müssen Sie das nicht.
die $ Verknüpfung deaktiviert hat, ist ein schwerwiegender Fehler im Code für Thickbox verursacht, die wiederum ist die JS für die gesamte Seite abstürzt.
Versuchen des noConflict Code loszuwerden und ruft nur die accordian Funktion direkt, etwa so:
$(document).ready(function () {
$('#sidebar ul').accordion();
});
Außerdem sollten Sie nicht beide jquery.accordion-1.2.2.js und jquery.accordion-1.2.2.source.js werden, einschließlich, benutzen Sie einfach die komprimierte Version jquery.accordion-1.2.2.js selbst .