我试图在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>
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.谢谢
您使用noConflict不当.
<script src="scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
<!-- INCLUDE ANY SCRIPTS HERE THAT RELY ON 1.3.2 -->
<script type="text/javascript">
// HERE WE CAN USE 1.3.2
// re-assign 1.3.2 to a new variable so we can use it later
var $jq132 = $.noConflict();
</script>
<script src="js/jquery-1.6.2.min.js"></script>
<script type="text/javascript">
// $ is now 1.6.2 and $jq132 is 1.3.2, both can be used.
</script>
Run Code Online (Sandbox Code Playgroud)
您可以有多个jQuery版本,$.noConflict将返回jQuery对象。您需要将其另存为另一个变量。
<script src="scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="js/jquery-1.6.2.min.js"></script>
<script>
$jq = $.noConflict();
// $jq is jQuery 1.6.2
// $ is jQuery 1.3.2
</script>
Run Code Online (Sandbox Code Playgroud)
演示:http : //jsbin.com/uhazan/3/edit#javascript,html,live
注意:jQuery变量将设置为1.6.2(第2个),如果您希望将其设置为1.3.2(第1个),请传递true至$.noConflict。
附:您可能想把您的$(".carousel").dualSlider里面$(document).ready(。