我想在一个页面上使用两个不同的jquery版本,这是我的代码:
<!----- mobile menu Starts ----->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="style/mobile_menu.css">
<script type="text/javascript">
var jQuery_1_11_0 = $.noConflict(true);
</script>
<!----- mobile menu Ended ----->
<!------ The Post slide starts ------>
<link rel="stylesheet" type="text/css" href="./style/post_slide_style.css">
<script src="js/jquery.v1.5.1.min.js"></script>
<script type="text/javascript">
var jQuery_1_5_1 = $.noConflict(true);
</script>
<script type="text/javascript" src="./js/jquery.colorbox.js"></script>
<script>
jQuery_1_5_1(document).ready(function(){
jQuery_1_5_1("a.gallery").colorbox({rel:'gallery'});
jQuery_1_5_1("a.dbox").colorbox({iframe:true, width:"480", height:"580"});
});
</script>
<!------ The Post slide Ended ------->
移动菜单正常运行,但邮政幻灯片无法帮助
工作答案 0 :(得分:1)
你不应该有2个不同的JQuery版本。
您应该使用最新版本的JQuery。如果您需要支持一些旧的JQuery API,则需要使用jQuery Migrate Plugin
来自文档:
我们已经创建了jQuery Migrate插件来简化转换 来自旧版本的jQuery。该插件可恢复已弃用的功能 和行为,以便旧代码仍然可以在较新的代码上正常运行 jQuery的版本。使用未压缩的开发版本 诊断兼容性问题,它会产生警告 您可以用来识别和修复问题的控制台。使用 压缩生产版本,只需修复兼容性问题 没有生成控制台警告。
Migrate有两个版本。
第一个将帮助您更新您的 1.9之前的jQuery代码到jQuery 1.9高达3.0。你可以得到那个版本 这里:
第二个版本可以帮助您更新代码以在jQuery 3.0或更高版本上运行 更高,一旦你使用Migrate 1.x并升级到jQuery 1.9或 更高:
答案 1 :(得分:0)
主要问题是您将true
传递给noConflict
两个电话。
<强>
jQuery.noConflict( [removeAll ] )
强>
removeAll
类型:布尔
一个布尔值,指示是否从全局范围中删除所有jQuery变量(包括 jQuery 本身)。
因此,在这些调用之后,您的代码无法访问$
或jQuery
,因此您应该在控制台中收到一些错误。
如果您想使用第二版jquery,请从true
来电中删除noConflict
。
但是,一般情况下,如果必须在同一页面中使用两个版本的jQuery,这是一个不好的迹象。