我有一个页面,其中包含用于幕布效果的jquery和其他用于滑块的jquery。我面临的问题是我的两个jqueries无法一起工作。我该怎么办?
我的示例代码是
<!-- for slider -->
<script src="images/jquery-latest.js" type="text/javascript"></script>
<script src="images/jquery.bxslider2.min.js" type="text/javascript"></script>
<script src="images/scripts.js" type="text/javascript"></script>
<!-- for curtain -->
<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script src="js/jquery.easing.1.3.js" type="text/javascript"></script>
首先,尝试使用current jQuery version (1.7.2),看看两个脚本是否都可以。
如果没有,请考虑使用与当前jQuery版本兼容的东西-如果某些东西需要jquery 1.3,那么很长一段时间都没有更新。
如果您确实需要两个脚本,并且都需要使用不同的jQuery版本,那么您需要这样做:
<script src=".../jquery-1.3.2.js"></script>
<script src="script-that-needs-132.js"></script>
<script>var jQuery132 = $.noConflict(true);</script>
<script src=".../jquery-1.7.2.js"></script>
要使用旧的jQuery,然后使用如下代码包装代码:
(function($){
// here $ points to the old jQuery
})(jQuery132);
删除其中之一,最好删除此<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
您可以使用
<script type="text/javascript" language="javascript">
var jq = jQuery.noConflict();
</script>
您不能/不应该包括两个不同版本的jQuery。坚持一个(最新的应该是最好的选择)。如果您所需的插件仅支持1.3之类的非常古老的版本,那么您应该选择一个较新的版本或开始摆弄代码。