-2

我之前使用的是 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>  
4

2 回答 2

4

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

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

于 2012-09-04T10:47:57.180 回答
0

您需要阅读如何$.noConflict()工作。您调用的第一个将$.noConflict()重置$为未定义,这意味着第一个$(document).ready()将出错,这$不是您期望的函数。

如果您保留第二个$.noConfict(),则在调用它之后,您将拥有以下内容;

  • $将指向 jQuery 1.6.4
  • jQuery将指向 jQuery 1.7.2
于 2012-09-04T10:50:16.187 回答