我的页面,包含几个幻灯片,只与js / jquery-1.5.2.min.js完美配合。
我最近在谷歌CDN上向我的网页(www.ug-mart.com)推出了一个顶级横幅,但顶部横幅没有用。我不得不删除顶部横幅的js / jquery-1.5.2.min.js。
删除了js / jquery-1.5.2.min.js后,最初运行良好的所有内容都无效。只有顶部横幅有效。好像我不能在同一页面上同时拥有和js / jquery-1.5.2.min.js。
有没有办法阻止两个jquery库冲突,并进行协作?
期待您的回复。
SirBT
答案 0 :(得分:2)
请参阅jQuery的$.noConflict()
虽然,你真的会变得更好,重新建立任何需要旧版jQuery的插件并仅使用新版本。
答案 1 :(得分:2)
您可以使用.noConflict()
安全地使用jQuery和其他库。通常,这是使用$
函数名称的冲突。
我更喜欢在“闭包”方法中使用jquery:
(function($){
//i can use "$" safely in here
}(jQuery));
另外,如果您使用的是多个版本的jQuery,那么请不要这样做。只需下载最新版本并使用它。它仍然应该迎合一些旧的API。
heres a sample code以显示其工作原理:
//lets hijack the "$"
$ = (function() {
return {
libName: "some other library using $"
}
}());
//create a closure for us to use "$"
(function($) {
//we can now use the $ safely in this closure
$('body').text('hello world! in the body!');
//let's check "$" in here
console.log('in here, "$" is jQuery:',$);
}(jQuery));
//let's check "$" out here
console.log('out here, "$" is:', $);
答案 2 :(得分:1)
$.noConflict()
是否有效?
首先导入js / jquery-1.5.2.min.js并使用$.noConflict()
注册js / jquery-1.5.2.min.js。然后使用另一个代码块并导入另一个版本的jQuery。最后,使用jQuery.xxx()
而不是$.xxx()
我认为这应该是有效的。
答案 3 :(得分:1)
按规定更换其中任何一个: - 在其中任何一个中声明
$a = jQuery.noConflict();
将该文件的所有$替换为该文件中的$ a
答案 4 :(得分:0)
<script src=""></script>
<script src=""></script>
<script type="text/javascript">
$.noConflict(true);
</script>