jQuery 1.6和1.7冲突

时间:2012-09-04 10:44:59

标签: javascript jquery

之前我使用的是jQuery 1.6。然后,需要一个与jQuery 1.7一起使用的幻灯片。

这两个版本在我的HTML页面上都存在冲突。任何避免jQuery冲突的解决方案都将在下面的代码中得到理解......

<script src="js/jquery-1.6.4.min.js" type="text/javascript"></script> 

    <script type="text/javascript">
        $.noConflict();

        $(document).ready(function(){
            $('#nav ul').superfish();
            packages_slider();
            testimonials_slider(); 
            set_datepicker();       
            set_select();
            set_captcha(true);
            validation();
            jquery_miscellaneous();
        });
    </script>

    <script src="js/jquery-ui.1.8.16.min.js" type="text/javascript"></script>
    <script src="js/jquery.easing.1.3.js" type="text/javascript"></script>
    <script src="js/sliders.js" type="text/javascript"></script>
    <script src="js/superfish.js" type="text/javascript"></script>
    <script src="js/pdate.js" type="text/javascript"></script>
    <script src="js/jquery.datepick.pack.js" type="text/javascript"></script>
    <script src="js/jquery.selectbox-0.1.3.min.js" type="text/javascript"></script>
    <script src="js/jquery.validate.min.js" type="text/javascript"></script>
    <script src="js/jquery.form.js" type="text/javascript"></script>
    <script src="js/miscellaneous.js" type="text/javascript"></script>


    <script type="text/javascript" src="js/jquery-1.7.2.min.js"> </script>

    <script type="text/javascript">
            $.noConflict();

        jQuery(document).ready(function($){
            $('#basic-slider').advancedSlider({width: 1200, 
                                               height: 600, 

                                                }
            });
        });

        </script>
    <script type="text/javascript" src="js/jquery.transition.min.js"></script>
    <script type="text/javascript" src="js/jquery.advancedSlider.min.js"></script>  

2 个答案:

答案 0 :(得分:4)

不要同时使用这两个版本。只需升级到 1.7 1.8。

有一些肮脏的技巧可以让这个(部分)工作,但是它要求麻烦,很多维护地狱,以及下载到客户端的代码量的两倍。你真的不想走那条路。

答案 1 :(得分:0)

您需要了解$.noConflict() works的方式。您调用的第一个$.noConflict()会将$重置为未定义,这意味着第一个$(document).ready()会出错,因为$不是您期望的功能。

如果你保留第二个$.noConfict(),在你打电话之后,你将拥有以下内容;

  • $将指向jQuery 1.6.4
  • jQuery将指向jQuery 1.7.2