在一个页面上使用include方法的两个jquery版本

时间:2014-03-09 21:35:51

标签: jquery

我有一个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中。

1 个答案:

答案 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/