jQuery没有冲突仍然与其他版本的jQuery冲突

我正在尝试使用estalge视图框运行双滑块插件。 他们都使用jQuery,并单独工作,但当我把它们放在一起时,一个打破。 我试过实现jQuery没有冲突规则,但我想我可能会遗漏一个小细节。 到目前为止,我的编码如下:

        $.noConflict(); jQuery(document).ready(function($) { jQuery('#etalage').etalage(); }); $(".carousel").dualSlider({ auto:true, autoDelay: 6000, easingCarousel: "swing", easingDetails: "easeOutBack", durationCarousel: 1000, durationDetails: 500 });  

任何帮助将不胜感激。 谢谢

您正在使用noConflict错误。

      

您可以拥有多个jQuery版本, $.noConflict将返回jQuery对象。 您需要将其另存为另一个变量。

    

演示: http : //jsbin.com/uhazan/3/edit#javascript,html,live

注意: jQuery变量将设置为1.6.2(第二个),如果您希望它为1.3.2(第一个), $.noConflict true传递给$.noConflict

PS你可能想把你的$(".carousel").dualSlider放在$(document).ready(

尝试将slider放在jQuery(document).ready(function($) {});

来自所有者网站

Etalage是否支持jQuery无冲突模式?

插件本身就是noconflict准备好了。 只需将"$"替换为启动插件的"jQuery" ,如下所示:

 jQuery(document).ready(function(){ jQuery('#etalage').etalage(); }); 

你不需要两个jQuery Core Lib包含

试试这个:

        

如果你必须使用多个版本的jquery,那么使用

    

现在调用旧版本的jquery就好了

 jq132('element').doSomething(); 

更新版本的jquery可以如下

 $('element').doSomething(); 

$(".carousel").dualSlider({ line在jQuery(document).ready()函数之外,我很确定这不是你的意图。目前,这可行:

 jQuery.noConflict(); jQuery(document).ready(function($) { $('#etalage').etalage(); $(".carousel").dualSlider({ auto:true, autoDelay: 6000, easingCarousel: "swing", easingDetails: "easeOutBack", durationCarousel: 1000, durationDetails: 500 }); }); 

但是,您的代码还有其他问题。 你带来了两个版本的jQuery,其中一个很老(1.3.2)。 用这个你不会得到好结果。 如果有一些库依赖于旧的jQuery,请考虑不使用该库。 无论如何,它在这个页面上可能无法正常工作,因为该库的任何运行时活动都只能访问jQuery 1.6。 jQuery .noConflict文档提到你可以提供boolean true作为.noConflict的参数,以便释放jQuery关键字,但到那时,你加载的插件已经关闭了旧版本。