Javascript和Jquery冲突

时间:2014-08-27 13:56:40

标签: javascript jquery

我遇到问题,当我删除下面的代码时,视频播放器弹出播放器可以正常工作,但我的联系表格并不存在。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>

我添加了脚本,但没有冲突,但它现在仍在工作,这里是我的JS和Jquery代码,它们位于head标签中。任何帮助都会很感激。

<script type="text/javascript" src="lib/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>

<script type="text/javascript">
    var j = jQuery.noConflict();
</script>

<!-- Add fancyBox main JS and CSS files -->
<script type="text/javascript" src="source/jquery.fancybox.js?v=2.1.3"></script>
<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css?v=2.1.2" media="screen" />

<script src="http://jwpsrv.com/library/WDP87vS0EeKnIhIxOUCPzg.js"></script>

<script type="text/javascript">
    $(document).ready(function() {
        /*
         *  Simple image gallery. Uses default settings
         */

        $('.fancybox').fancybox();

        /*
         *  Different effects
         */

        // Change title type, overlay closing speed
        $(".fancybox-effects-a").fancybox({
            helpers: {
                title : {
                    type : 'outside'
                },
                overlay : {
                    speedOut : 0
                }
            }
        });

        // Disable opening and closing animations, change title type
        $(".fancybox-effects-b").fancybox({
            openEffect  : 'none',
            closeEffect : 'none',

            helpers : {
                title : {
                    type : 'over'
                }
            }
        });

        // Set custom style, close if clicked, change title type and overlay color
        $(".fancybox-effects-c").fancybox({
            wrapCSS    : 'fancybox-custom',
            closeClick : true,

            openEffect : 'none',

            helpers : {
                title : {
                    type : 'inside'
                },
                overlay : {
                    css : {
                        'background' : 'rgba(238,238,238,0.85)'
                    }
                }
            }
        });

        // Remove padding, set opening and closing animations, close if clicked and disable overlay
        $(".fancybox-effects-d").fancybox({
            padding: 0,

            openEffect : 'elastic',
            openSpeed  : 150,

            closeEffect : 'elastic',
            closeSpeed  : 150,

            closeClick : true,

            helpers : {
                overlay : null
            }
        });

        /*
         *  Button helper. Disable animations, hide close button, change title type and content
         */

        $('.fancybox-buttons').fancybox({
            openEffect  : 'none',
            closeEffect : 'none',

            prevEffect : 'none',
            nextEffect : 'none',

            closeBtn  : false,

            helpers : {
                title : {
                    type : 'inside'
                },
                buttons : {}
            },

            afterLoad : function() {
                this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
            }
        });


        /*
         *  Thumbnail helper. Disable animations, hide close button, arrows and slide to next gallery item if clicked
         */

        $('.fancybox-thumbs').fancybox({
            prevEffect : 'none',
            nextEffect : 'none',

            closeBtn  : false,
            arrows    : false,
            nextClick : true,

            helpers : {
                thumbs : {
                    width  : 50,
                    height : 50
                }
            }
        });

        /*
         *  Media helper. Group items, disable animations, hide arrows, enable media and button helpers.
        */
        $('.fancybox-media')
            .attr('rel', 'media-gallery')
            .fancybox({
                openEffect : 'none',
                closeEffect : 'none',
                prevEffect : 'none',
                nextEffect : 'none',

                arrows : false,
                helpers : {
                    media : {},
                    buttons : {}
                }
            });

        /*
         *  Open manually
         */

        $("#fancybox-manual-a").click(function() {
            $.fancybox.open('1_b.jpg');
        });

        $("#fancybox-manual-b").click(function() {
            $.fancybox.open({
                href : 'conscious-video.html',
                type : 'iframe',
                padding : 5
            });
        });

        $("#fancybox-manual-c").click(function() {
            $.fancybox.open([
                {
                    href : '1_b.jpg',
                    title : 'My title'
                }, {
                    href : '2_b.jpg',
                    title : '2nd title'
                }, {
                    href : '3_b.jpg'
                }
            ], {
                helpers : {
                    thumbs : {
                        width: 75,
                        height: 50
                    }
                }
            });
        });


    });
</script>

<!------Autoresponder---->
<script type="text/javascript">  
    /* <![CDATA[ */    
    $(document).ready(function() {
        var close_note = $("#note");
        close_note.click(function () {
            j("#note").slideUp(1000, function () {
                j(this).hide();
            });
        });

        $("#ajax-contact-form").submit(function() {
            $('#load').append('<center><img src="images/ajax-loader.gif" alt="Currently Loading" id="loading" /></center>');

            var fem = $(this).serialize(),
                note = $('#note');

            $.ajax({
                type: "POST",
                url: "contact.php",
                data: fem,
                success: function(msg) {
                    if ( note.height() ) {          
                        note.slideUp(1000, function() {
                            $(this).hide();
                        });
                    } 
                    else note.hide();

                    $('#loading').fadeOut(300, function() {
                        $(this).remove();
                        if(msg === 'OK') {
                            $('input').val("");
                            $('textarea').val("");
                        }   
                        // Message Sent? Show the 'Thank You' message and hide the form
                        result = (msg === 'OK') ? '<div class="success">Your message has been sent. Thank you!</div>' : msg;

                        var i = setInterval(function() {
                            if ( !note.is(':visible') ) {
                                note.html(result).slideDown(1000);
                                clearInterval(i);
                            }
                        }, 40);    
                    }); // end loading image fadeOut
                 }
            });

            return false;
        });
    });
    /* ]]> */
</script>  

1 个答案:

答案 0 :(得分:1)

不要在同一页面内使用两个版本的jQuery(不推荐)。

jQuery.noConflict()

当您使用两个不同的库争夺$(这是jQuery的别名)时,应该使用它。

  

许多JavaScript库只使用$作为函数或变量名   就像jQuery一样。在jQuery的情况下,$只是jQuery的别名,所以   无需使用$即可使用所有功能。如果你需要使用   与jQuery一起使用的另一个JavaScript库,返回$ back的控件   通过调用$ .noConflict()到另一个库。旧的参考文献   在jQuery初始化期间保存$; noConflict()只是简单地恢复   它们。

但......在你的情况下......医生说:

  

如果由于某种原因加载了两个版本的jQuery(事实并非如此)   推荐),从第二个版本调用$ .noConflict(true)   将全局范围的jQuery变量返回到第一个变量   版本

更多信息: http://api.jquery.com/jquery.noconflict/

祝你好运。