我正在尝试使用Nivo JQuery Slider(http://nivo.dev7studios.com/)和Scrollable Gallery(http://flowplayer.org/tools/demos/scrollable/index.html)。
现在我遇到了一个问题,基本上Nivo Slider使用这个JQuery库:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
并且Scrollable Gallery使用了这个:
<script src="http://cdn.jquerytools.org/1.2.5/full/jquery.tools.min.js"></script>
当两者都启用时,只有缩略图库可以工作(因为它的脚本导入是在nivo之后完成的),当启用1.42版本时只有Nivo可以工作,而当只启用1.2.5版本时,只有可滚动图库的工作原理。
我该怎么办?
答案 0 :(得分:9)
如果您不能对这两个插件使用单个jQuery文件,请使用此解决方案:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
var jQuery_1_4_2 = jQuery.noConflict();
</script>
<script src="http://cdn.jquerytools.org/1.2.5/full/jquery.tools.min.js"></script>
要使用jQuery 1.4.2,请将代码放在SEF(Self Executing Function)中,如下所示:
(function($){
//code using jQuery 1.4.2
//here the $variable will be the jQuery object of 1.4.2
})(jQuery_1_4_2)
对于jQuery 1.2.5,您可以直接使用$ variable。
<强>更新强> 根据您的评论,以下是使用它的方式。
如果要使用jQuery 1.4.2,请使用jQuery_1_4_2对象
例如:jQuery_1_4_2("#abc").slider(options)
如果你想使用jQuery 1.2.5使用$或jQuery对象
例如:$("#abc").scrollable(options)
答案 1 :(得分:2)
Jquery Tools网站表示,升级将在一个多月内完成,使其符合Jquery 1.6。
话虽如此,有很多不同的方法可以给这只猫皮肤涂抹,而且大部分时间都不是这样。我一直在使用jQuery Infinite Carousel取得巨大成功。它的外观和行为几乎完全相同,并且与最新版本的jQuery没有冲突。
从你的发布中不清楚,但如果你这样做,我会避免加载两个不同版本的Jquery。这是一个额外的开销,实际上根本没有帮助你的网站。
答案 2 :(得分:1)
简单只是复制&amp;将此java脚本代码粘贴到“HEAD”TAG
中// jquery版本冲突代码
var newJQuery = jQuery.noConflict(true),
oldJQuery = jQuery;
(function ($) {
// code that needs 1.4.2 goes here
}(newJQuery));
(function ($) {
// code that needs 1.2.6 goes here
}(oldJQuery));
// code that needs oldJQuery and newJQuery can go here
看到它的工作110%.......................... :)享受!!!