多个jQuery脚本冲突

时间:2014-02-24 22:42:15

标签: javascript jquery caroufredsel lavalamp

我遇到一些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部分。当我删除评论时,它将全部崩溃。

1 个答案:

答案 0 :(得分:0)

您可以在此处查看示例: 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的东西?或者别的东西:-)是时候先了解先生。控制台和他一起喝杯咖啡。