1

我的网页上有一个手风琴菜单和一个 lightwindow 脚本。由于手风琴脚本,lightwindow 脚本不起作用,因为如果我删除后者,lightwindow 脚本就会起作用。一定有冲突,但是什么?

这是我页面的头部:

<!-- lightwindow files -->
<script type="text/javascript" src="lightwindow/javascript/prototype.js"></script>
<script type="text/javascript" src="lightwindow/javascript/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="lightwindow/javascript/lightwindow.js"></script>
<link rel="stylesheet" href="lightwindow/css/lightwindow.css" type="text/css" media="screen" />


<!-- accordion scripts -->
<script src="js/jquery-1.2.1.min.js" type="text/javascript"></script>
<script src="js/menu.js" type="text/javascript"></script>
<script src="js/jquery.cookie.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="css/accordion.css" />

感谢您的时间。

干杯

鸟郎

4

5 回答 5

3

您需要使用http://docs.jquery.com/Core/jQuery.noConflict中描述的 jQuery.noConflict 方法。

不确定版本 1.2.1 是否会有它。

只需阅读该页面上的说明,了解如何连接它。首先,您需要将 jQuery 放在其他库之前。

更新:添加了以下代码以帮助您应用修复程序。如果 jQuery.noConflict() 行导致错误,那么您可能需要尝试更新版本的 jQuery。

<script src="js/jquery-1.2.1.min.js" type="text/javascript"></script>
<script type="text/javascript"> jQuery.noConflict() </script>

<!-- lightwindow files -->
<script type="text/javascript" src="lightwindow/javascript/prototype.js"></script>
<script type="text/javascript" src="lightwindow/javascript/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="lightwindow/javascript/lightwindow.js"></script>
<link rel="stylesheet" href="lightwindow/css/lightwindow.css" type="text/css" media="screen" />


<!-- accordion scripts -->
<script src="js/menu.js" type="text/javascript"></script>
<script src="js/jquery.cookie.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="css/accordion.css" />

另外,注意您可能需要将一些代码从 $(...) 交换为 jQuery(...)

从 jQuery 文档页面:

在你以前做 $("div p") 的地方,你现在必须做 jQuery("div p")。

于 2009-03-27T18:22:33.857 回答
1
<script type="text/javascript"> jQuery.noConflict() </script> 

只是想说这个小把戏为我创造了奇迹,谢谢。如果您使用 chronoforms,这可能是您的 javascript 问题的答案。

最后没有更多“完成但页面上有错误”。

再次感谢

于 2010-05-11T02:08:59.400 回答
1

当您添加 jQuery.noConflict(); - 您还需要进入 jQuery 脚本并将所有 $ 变量交换为 jQuery

于 2010-11-12T20:03:44.573 回答
0

您可能在两个库中都定义了同名的方法/函数。

如果不是重复的方法/函数名称,请检查重复的全局变量名称。

尝试向文档添加相互覆盖的方法时,我多次遇到冲突。

于 2009-03-27T18:18:08.347 回答
0

您几乎可以肯定 JQuery 和 Prototype 之间存在冲突。例如,他们都定义了 $ 。

JQuery 有一个兼容模式,您可以启用它来避免冲突。

于 2009-03-27T18:21:37.183 回答