【发布时间】:2012-04-12 20:26:05
【问题描述】:
我正在尝试将双滑块插件与 estalge 视图框一起运行。它们都使用 jQuery,并且单独工作,但是当我将它们放在一起时,一个中断。我曾尝试实施 jQuery 无冲突规则,但我认为我可能在某处遗漏了一个小细节。到目前为止,我的编码看起来像:
<script src="scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="scripts/jquery.easing.1.3.js" type="text/javascript"></script>
<script src="scripts/jquery.timers-1.2.js" type="text/javascript"></script>
<script src="scripts/jquery.dualSlider.0.3.js" type="text/javascript"></script>
<!-- START ESTALGE -->
<script src="js/jquery-1.6.2.min.js"></script>
<script src="js/jquery.etalage.min.js"></script>
<script type="text/javascript">
$.noConflict();
jQuery(document).ready(function($) {
jQuery('#etalage').etalage();
});
$(".carousel").dualSlider({
auto:true,
autoDelay: 6000,
easingCarousel: "swing",
easingDetails: "easeOutBack",
durationCarousel: 1000,
durationDetails: 500
});
</script>
任何帮助将不胜感激。谢谢你
【问题讨论】:
-
noConflict 是为了阻止 jQuery 干扰其他库,而不是它自己。换句话说,除非你愿意使用 jQuery 的一个版本并坚持下去,否则我认为你很不走运。
-
@Corbin:你可以有多个版本的 jQuery,
$.noConflict会从第二个返回jQuery函数。 -
@Corbin 这根本不是真的。 noConflict 可以并且将防止 jQuery 与自身的另一个副本发生冲突。
-
@Corbin 五分钟前我也有同样的想法,但后来我得到了纠正。支持多个版本;但是,插件兼容性取决于插件是否经过精心设计,使用经典的
function($){}(jQuery)IIFE 公式。 -
那么我非常正确:)。