Javascript 另一个相互冲突的jquery问题

Javascript 另一个相互冲突的jquery问题,javascript,jquery,html,css,slicknav,Javascript,Jquery,Html,Css,Slicknav,我已经找到了大量的答案(大部分是关于wordpress的),但没有一个是很有帮助的。我对css/jquery还不熟悉,所以我需要把手放一放。我试过了,但没能成功 我的代码在这里: <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script src="js/jquery.slicknav.js"></script> <sc

我已经找到了大量的答案(大部分是关于wordpress的),但没有一个是很有帮助的。我对css/jquery还不熟悉,所以我需要把手放一放。我试过了,但没能成功

我的代码在这里:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="js/jquery.slicknav.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('#menu').slicknav();
});
</script>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
    var jQuery_1_7_2 = $.noConflict(true);
</script>
<script>window.jQuery || document.write('<script src="js/jquery-1.7.2.min.js"><\/script>')     
</script>

<script src="js/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
  var jQuery_1_9_1 = $.noConflict(true);
</script> 
<script src="js/owl.carousel.js"></script>

$(文档).ready(函数(){
$(“#菜单”).slicknav();
});
var jQuery_1_7_2=$.noConflict(true);
window.jQuery | | document.write(“”)
var jQuery_1_9_1=$.noConflict(true);
我在我的页面上使用了两个元素的源代码,一个调用jquery-1.7.2.min.js,另一个调用jquery-1.9.1.min.js

1.7.2控制我的响应导航栏,而1.9.1由图像转盘使用。此时,旋转木马版本否决了导航栏(消失)


有什么办法可以解决这个冲突吗?

假设需要不同的版本,并且插件是按照下面的方式编写的,不要使用
noConflict
,而只是简单地定位脚本,以便插件在执行时可以访问正确的
窗口.jQuery

<script src="js/jquery-1.7.2.min.js"></script>
<!-- plugins that "only work with" 1.7.2: $/jQuery refer to 1.7.2 -->
<script src="js/jquery.slicknav.js"></script>

<script src="js/jquery-1.9.1.min.js"></script>
<!-- everything else: $/jQuery refer to 1.9.1 (but consider 1.11+) -->
<script src="js/owl.carousel.js"></script>

使用noConflict指定不同的名称是为了让知道不同名称的代码可以使用它——对于标准插件来说,情况并非如此

不过,考虑所有的插件只需使用最新的1。x(当前是1.11-1),因为jQuery非常向后兼容,很少有令人惊讶的变化(弃用路线图很长)。在使用遗留功能的情况下,这可以消除许多此类迁移问题

[jQuery migrate]可用于检测和恢复jQuery中已弃用并从1.9版起删除的API或功能


工作代码使用1.9.1。将使用1.11进行试验

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="js/jquery.slicknav.js"></script>
<script type="text/javascript">
   $(document).ready(function(){
       $('#menu').slicknav();
   });
</script>
<script src="js/owl.carousel.js"></script>

$(文档).ready(函数(){
$(“#菜单”).slicknav();
});

您正在添加这些版本的jQuery,但是您是否编辑了插件以调用这些新的jQuery变量?你看过你链接的问题的全部答案了吗?嗨。我试着跟随它,但正如我所说,我只是一个初学者,它很快就失去了我。我试过的东西都不管用。你想在一个页面上使用三个版本的jQuery有什么原因吗?插件是否需要特定的jQuery版本?我宁愿更新插件,或者扔掉它们,也不想让网站变得臃肿。我曾尝试将所有较旧的版本号换成1.9.1,但失败了。我将尝试制定您的迁移解决方案。谢谢。当我将owl.carousel移到jquery-1.9.1上方时,旋转木马失败。正如您在问题中指出的,
owl.carousel.js
依赖于1.9.1。把它移到1.9.1包含的下面。好吧,我几乎进入了完全混乱的领域。我发现了一个附加的引用脚本,我把它添加到了原来的帖子中(对不起)。不确定这是否有任何关系?我还尝试在每次1.7.2参考之后使用以下代码进行迁移:code.jquery.com/jquery-migrate-1.1.1.js“>但它失败了。我真的无法理解这一点……@Del22无论最初的脚本有多混乱,它都做得很糟糕:按照上面的格式,在相关jQuery include之后立即放置特定于版本的插件。阅读jq迁移的升级文档;关键是在使用旧版本jQuery时不要使用它,所有非1.9(或者实际上,所有非1.11)jQuery包含的内容都应该删除。这里根本不需要noConflict——除非插件写得不正确,并且需要修改以通过已建立的名称引用特定版本,在这种情况下,所使用的模式无论如何都可以修复!