避免jquery冲突

时间:2012-03-15 19:25:59

标签: javascript conflict jquery

我正在使用下面显示的脚本。

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js' type='text/javascript'>

    <script type='text/javascript'>
var sidebarnameacc1=&quot;sidebar&quot;;
var accordionside1=true;
var sideshow1=new Array(0,0);
var sidebarnameacc2=&quot;sidebar2&quot;;
var accordionside2=false;
var sideshow2=new Array(0,0);
</script>
<script src='http://scriptabufarhan.googlecode.com/svn/trunk/accordionscriptv101-min.js' type='text/javascript'/>

在我的博客中添加此代码后,许多其他小部件,如涉及javascript的下拉菜单停止运行。我使用的其他代码如下所示。

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js' type='text/javascript'/>
<script src='https://ninja-templates.googlecode.com/svn/trunk/jquery.easing.1.3.js' type='text/javascript'/>
<script src='https://ninja-templates.googlecode.com/svn/trunk/superfish.js' type='text/javascript'/>
<script src='https://ninja-templates.googlecode.com/svn/trunk/jquery.cycle.all.js' type='text/javascript'/>
<script src='https://ninja-templates.googlecode.com/svn/trunk/jquery.tiptip.js' type='text/javascript'/>
<script src='http://ninja-templates.googlecode.com/files/functions.slider.js' type='text/javascript'/>

有人可以告诉我如何消除这种冲突吗?

编辑:好的,你能说得更清楚吗?我在这里是个菜鸟,无法理解你们在说什么。你能改变我的代码并告诉我它是如何工作的吗?

2 个答案:

答案 0 :(得分:3)

此脚本包括:

<script src='http://ninja-templates.googlecode.com/files/functions.slider.js' type='text/javascript'/>

使用它:

$.noConflict(true);

此外,这些脚本标记无效,脚本标记必须同时包含开始标记和结束标记,它们不能自动关闭。

评论更新:

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js' type='text/javascript'></script>    
<script type='text/javascript'>
var sidebarnameacc1=&quot;sidebar&quot;;
var accordionside1=true;
var sideshow1=new Array(0,0);
var sidebarnameacc2=&quot;sidebar2&quot;;
var accordionside2=false;
var sideshow2=new Array(0,0);
</script>
<script src='http://scriptabufarhan.googlecode.com/svn/trunk/accordionscriptv101-min.js' type='text/javascript'></script>
<!-- any other scripts that depend on the above code goes here -->

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js' type='text/javascript'></script>
<script src='https://ninja-templates.googlecode.com/svn/trunk/jquery.easing.1.3.js' type='text/javascript'></script>
<script src='https://ninja-templates.googlecode.com/svn/trunk/superfish.js' type='text/javascript'></script>
<script src='https://ninja-templates.googlecode.com/svn/trunk/jquery.cycle.all.js' type='text/javascript'></script>
<script src='https://ninja-templates.googlecode.com/svn/trunk/jquery.tiptip.js' type='text/javascript'></script>
<script src='http://ninja-templates.googlecode.com/files/functions.slider.js' type='text/javascript'></script>
<!-- also any other scripts that depend on the above scripts go here -->

<script type="text/javascript">
$.noConflict(true);
</script>

答案 1 :(得分:0)

您正在第一个脚本块中加载JQuery 1.2.6,然后在第二个脚本块中加载JQuery 1.7.0。第二个不会加载,因为JQuery已经加载。我猜测失败的东西需要添加到更新的JQuery版本的功能。因此,让第一个块加载新版本,不要尝试在第二个版本中加载两次。