【问题标题】:Multiple jQuery scripts conflict多个 jQuery 脚本冲突
【发布时间】:2014-02-24 22:42:15
【问题描述】:

我对一些 jQuery 脚本有疑问。它们分开工作(当评论使用另一个时)但是当我希望它们一起工作时,它会完全停止工作。我读到了 .noConflict() 方法。但是,我对 js 和 jQ 很陌生,我不确定它是否是我正在寻找的。更重要的是,即使是问题所在,我也可能无法正确使用 noConflict() 。如果有人能帮助我,我会非常高兴。

我的部分标题:

<script src="jquery-1.11.0.js" type="text/javascript"></script>
<script type="text/javascript" src="jquery.easing.min.js"></script>
<script type="text/javascript" src="jquery.lavalamp.min.js"></script>
<!--<script src="jquery.carouFredSel-6.2.1.js" type="text/javascript"></script>-->

脚本的用法:

<script type="text/javascript">
                            $(document).ready(function() {

                            $("#1, #2, #3").lavaLamp({
                                fx: "backout", 
                                speed: 700,
                                click: function(event, menuItem) {
                                    return false;
                                }
                            });
                    /* COMMENTED Carousel
                                var images = jQuery("#images").carouFredSel({
                                    direction           : "up",
                                    items: {
                                             visible: 1,
                                             width: 824,
                                             height: 320
                                            },
                                    scroll : {
                                        onBefore: function() {
                                      var act_pos = images.triggerHandler("currentPosition");
                                      jQuery("#scroller-active").animate(
                                       {"top": (act_pos*80)+"px" },
                                       300,
                                       "swing"
                                      );
                                     }                    
                                    }                   
                                });


                            jQuery(".konstrukcje").mouseover(function() {
                            jQuery("#images").trigger("slideTo",0);
                            })
                            jQuery(".dachy").mouseover(function() {
                             jQuery("#images").trigger("slideTo",1);
                            })
                            jQuery(".budowlane").mouseover(function() {
                             jQuery("#images").trigger("slideTo",2);
                            })
                            jQuery(".projekt").mouseover(function() {
                             jQuery("#images").trigger("slideTo",3);
                            })*/
                        });
                        </script>

上面的代码有效,但只有 lavaLamp 部分。当我删除 cmets 时,它会全部崩溃。

【问题讨论】:

    标签: javascript jquery caroufredsel lavalamp


    【解决方案1】:

    您可以在此处查看示例: http://www.w3schools.com/jquery/jquery_noconflict.asp

    有不同的使用方式,我只是使用了这种方式:

    var jq = $.noConflict();
    jq(document).ready(function(){
      jq("button").click(function(){
        jq("p").text("jQuery is still working!");
      });
    });
    

    这种方式意味着您随后使用 jq 而不是以前使用的。 我发现这更能将它分开,但是如果您要更改其他人的代码,则编辑所有代码可能会很耗时。那么其他方式可能会更好。

    这可能会或可能不会影响您的问题,因为您遇到问题的原因可能有很多。也许你有一些与 preventDefault 触发的东西?或者也许是别的东西:-) 是时候了解先生了。安慰他,和他一起喝杯咖啡。

    【讨论】:

      猜你喜欢
      • 2014-03-02
      • 2011-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多