2011-04-11 131 views
0

我已阅读冲突脚本的Jquery文档页面。但我不是很了解它。而且,它是多个冲突的.js文件,并且它们具有相同的名称以便引导。 (但它们在内部是不一样的。)冲突的脚本

我有一组.js鱼眼效果。然后我有另一套.js可拖动。 Draggable不适用于鱼眼脚本,反之亦然。

These links are for the fisheye effect. 

    <script type="text/javascript" src="HandFan/jquery-1.js"></script> 
    <script type="text/javascript" src="HandFan/ui_003.js"></script> 
    <script type="text/javascript" src="HandFan/ui.js"></script> 
    <script type="text/javascript" src="HandFan/effects.js"></script> 
    <script type="text/javascript" src="HandFan/ui_002.js"></script> 

These files are for draggable. 
    <script type="text/javascript" src="Draggable/jquery-1.js"></script> 
    <script type="text/javascript" src="Draggable/ui.js"></script> 
    <script type="text/javascript" src="Draggable/ui_002.js"></script> 

从我了解的是什么文档说,

File1.noConflict(); 

// Use script File1 via File1(...) 
File1(document).ready(function(){ 
    File1("div").hide(); 
}); 

// Use script File2 with $(...), etc. 
$('someid').hide(); 

我不知道如何处理关于多个文件做了,我敢肯定,这充分说明我是如何利用新对此。

编辑

网上通缉后,我认为这将做我好使用单个jquery.1.3.2.js文件,由谷歌主持。但是,这并不奏效。所以看起来我的问题是我需要上面的每个脚本来为我的效果工作,这对我来说似乎是浪费。有没有更有效的方法来做到这一点?

回答

1

我不完全理解为什么你需要多次包含jQuery。例如,如果您已将jQuery进一步包含在页面中,则可拖动插件将正常工作。对于包含的任何UI脚本也是如此。

你的脚本声明很可能会像这样工作更好:

<script type="text/javascript" src="scripts/jquery-1.js"></script> 
<script type="text/javascript" src="scripts/ui.js"></script> 
<script type="text/javascript" src="scripts/ui_002.js"></script> 

<script type="text/javascript" src="HandFan/effects.js"></script> 
<script type="text/javascript" src="HandFan/ui_003.js"></script> 

可拖动的东西应该能正常运行,而不需要有自己的一套定义相同的基础库。

鉴于这可能不适合你,让我们看看它是否是问题的jQuery文件。

jQuery noConflict()方法允许您分配不同的变量来调用jQuery而不是非常常见的$符号。看看以下工作:

var j = jQuery.noConflict(); 

然后,您可以使用字母J,你通常会使用$。例如:

j('#myElement').draggable(); 
+0

这就是我的想法,但是当我删除“重复”他们停止工作。当我查看文件本身的内容时,它们是不同的。我通过各种教程和演示在线获得了这些脚本。所以他们可能被修改了。 – 2011-04-11 01:02:06