如何使用以下脚本的NoConflict?

时间:2011-11-16 13:21:43

标签: jquery-ui jquery jquery-plugins jquery-selectors

如何编写Jquery.No与以下Jquery脚本冲突。我正在使用此Jquery在我的页面上滑动图像。我如何使用与以下脚本无冲突?

 <script type="text/javascript">
  $(document).ready(function () {
    $("#waterwheel-carousel-default").waterwheelCarousel();

    $("#waterwheel-carousel-higharch").waterwheelCarousel({
        startingWaveSeparation: -90,
        waveSeparationFactor: .7,
        centerOffset: 10,
        startingItemSeparation: 120,
        itemSeparationFactor: .9,
        itemDecreaseFactor: .75
    });

  });
</script>

3 个答案:

答案 0 :(得分:2)

文档中对此进行了解释:

<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
  $.noConflict();
  jQuery(document).ready(function($) {
    // Code that uses jQuery's $ can follow here.
  });
  // Code that uses other library's $ can follow here.
</script>

http://api.jquery.com/jQuery.noConflict/

答案 1 :(得分:1)

当你需要使用另一个带有jquery的库时,通常会使用noConflict,这样两者就不会发生冲突。来自jQuery docs:

  

许多JavaScript库只使用$作为函数或变量名   就像jQuery一样。在jQuery的例子中,$只是jQuery的别名,所以   无需使用$即可使用所有功能。如果我们需要使用   另外一个JavaScript库和jQuery一起,我们可以返回控件   $通过调用$ .noConflict()返回到其他库:

所以,除非你使用另一个带jquery的库,否则我认为你不需要noconflict。

答案 2 :(得分:0)

好吧,你应该为jquery制作另一个“快捷方式”:

var $j = jQuery.noConflict();

在此之后,将所有$符号替换为现在指向jquery的变量名称($j)。

另一种方法是将jquery代码写入函数并将jquery引用($)作为参数传递:

(function($){
    // your jquery code goes here
    // alert($ === jQuery);
})(jQuery.noConflict());
// outside the scope, $ is not jquery anymore
// alert($ === jQuery);