如何在我的 Jquery 中删除冲突?

Posted

技术标签:

【中文标题】如何在我的 Jquery 中删除冲突?【英文标题】:How Can I remove Conflict in my Jquery? 【发布时间】:2011-12-30 06:02:46 【问题描述】:

我是 JQuery 新手,我在我的页面中使用了 2 个 jQuery。

对于第一个 JQuery,我的脚本是这样的:

<script>
    var jq = $.noConflict();
    jq(function() 
         jq( "#my_tabs" ).tabs(
         event: "click" //click
         );            
    );
</script>

现在,当我像这样使用第二个 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
    );

    $("#waterwheel-carousel-horizon").waterwheelCarousel(
        startingWaveSeparation: 0,
        centerOffset: 30,
        startingItemSeparation: 150,
        itemSeparationFactor: .7,
        itemDecreaseFactor: .75,
        opacityDecreaseFactor: 1,
        autoPlay: 1500
    );

    $("#waterwheel-carousel-flat").waterwheelCarousel(
        itemSeparationFactor: 1,
        itemDecreaseFactor: 1,
        waveSeparationFactor: 1,
        startingWaveSeparation: 0,
        startingItemSeparation: 280,
        centerOffset: 10,
        opacityDecreaseFactor: .3,
        autoPlay: 3000,
        edgeReaction: 'reverse'
    );

    $("#waterwheel-carousel-vertical").waterwheelCarousel(
        orientation: 'vertical',
        startingItemSeparation: 100,
        startingWaveSeparation: 40,
        autoPlay: 2000
    );

  );
</script>

我正在使用两个 jQueries 进行图像滑动。谁能告诉我问题是什么?谢谢

【问题讨论】:

【参考方案1】:

这是你的第二个 jQuery 脚本,你应该在上面执行$.noConflict()

如果你这样做了;

<script src="http://code.jquery.com/jquery-1.7.js"></script>
<script>
    var jq = $.noConflict();
    jq(function() 
         jq( "#my_tabs" ).tabs(
         event: "click" //click
         );            
    );
</script>
<script src="http://code.jquery.com/jquery-1.4.js"></script>

jQuery$ 都将指向 jQuery 1.4,而没有任何东西指向 jQuery 1.7。顺便说一句,如果您在加载 jQuery 1.4 后再次运行 $.noConflictjQuery 将引用 1.4,但 $ 将是未定义的。

但是,如果你这样做:

<script src="http://code.jquery.com/jquery-1.7.js"></script>
<script src="http://code.jquery.com/jquery-1.4.js"></script>
<script>
    var jq = $.noConflict();
    jq(function() 
         jq( "#my_tabs" ).tabs(
         event: "click" //click
         );            
    );
</script>

$ 将指向 jQuery 1.7,但 jQuery 将指向 jQuery 1.4(您的 jq 变量也是如此)。

你可能想看看$.noConflict(true);释放jQuery $ 变量;所以你可以做这样的事情;

<script src="http://code.jquery.com/jquery-1.7.js"></script>
<script src="http://code.jquery.com/jquery-1.4.js"></script>
<script>
    var jq = $.noConflict(true);
    jq(function() 
         jq( "#my_tabs" ).tabs(
         event: "click" //click
         );            
    );
</script>

那么$jQuery 都将指向jQuery 1.7,并且只有您的jq 变量将指向jQuery 1.4

【讨论】:

以上是关于如何在我的 Jquery 中删除冲突?的主要内容,如果未能解决你的问题,请参考以下文章

wordpress中的冲突革命滑块和jquery文件

如何删除 Jquery PHP 回显错误? [关闭]

如何使用没有冲突的功能[重复]

Django 和 jQuery.formset,如何操作删除按钮位置

jQuery:如果没有成功删除助手,如何阻止助手被删除

ASP.Net 如何删除自动 jquery 引用?