我的html页面上的Javascript冲突

时间:2009-03-27 18:13:16

标签: javascript jquery conflict 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" />

感谢您的时间。

干杯

tochiro

5 个答案:

答案 0 :(得分: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”)。

答案 1 :(得分:1)

<script type="text/javascript"> jQuery.noConflict() </script> 

只是想说这个痘痘技巧为我带来奇迹,谢谢。如果您使用chronoforms,这可能是您的JavaScript问题的答案。

最后没有“在页面上犯了错误”。

再次感谢

答案 2 :(得分:1)

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

答案 3 :(得分:0)

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

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

当我尝试将方法添加到相互覆盖的文档时,我遇到了几次冲突。

答案 4 :(得分:0)

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

JQuery具有兼容模式,您可以启用该模式以避免冲突。