我有一个index.php页面
它包含另外两个php文件(nav.php和vertical_nav.php),并由include方法添加。
这两个包含的php文件中,nav.php包含jquery 1.5.2的链接(链接为http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js),其他vertical_nav.php包含jquery 1.9.0(链接为http://www.mydomain.com/lib/jquery-1.9.0.min.js)< / p>
现在问题是当使用这些jquery时,旧版本无效。我需要它才能完美地完成我的导航动画。
如何使用两个不同版本的jquery?我用谷歌搜索了它。我得到了解决方案 - 使用noconflict。但我没有得到如何使用它以及在何处使用它。因为我的一个jquery链接在nav.php上,而其他更新的1.9.0链接在vartical_nav.php中,这两个文件包含在index.php中。
答案 0 :(得分:0)
在您的情况下,主要问题是您同时使用两个版本的jQuery。考虑重构代码并删除其中一个代码。
在任何情况下,您都可以使用这种JS构造作为可能的解决方案之一:
// in file, where you include jquery 1.5.2:
var jQuery152 = jQuery.noConflict();
// in file, where you include jquery 1.9.0:
var jQuery190 = jQuery.noConflict();
之后,您将拥有两个用于不同jQuery库的全局别名。然后你可以将自定义JS代码包装在这样的结构中(例如,如果你想使用jQuery 1.5.2):
(function($) {
// some code that relies on $ variable as on jQuery object
})(jQuery152);
请查看此文章以获取更多信息:http://benalman.com/news/2010/11/immediately-invoked-function-expression/