两个脚本链接之间的冲突

时间:2014-02-11 10:56:48

标签: javascript jquery html ajax

我想应用图像过滤技术,并且想要在一个花哨的盒子中打开图像,我添加了代码并建立了我需要的脚本链接,但添加了以下脚本链接:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>

在过滤链接和脚本之上,过滤器可以工作但是花哨的盒子不想工作,并且在精美的盒子链接和脚本之上添加相同的链接时,花式框可以工作,但过滤器不想工作。 ..

以下是我的一些代码:

 <!DOCTYPE html>
<html lang="en" class="no-js">
<head>
        <!-- Add jQuery library of fancybox -->
<script type="text/javascript" src="image-library/lib/jquery-1.10.1.min.js"></script>

<!-- Add mousewheel plugin (this is optional) -->
<script type="text/javascript" src="image-library/lib/jquery.mousewheel-3.0.6.pack.js"></script>

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

<!-- Add Button helper (this is optional) -->
<link rel="stylesheet" type="text/css" href="image-library/source/helpers/jquery.fancybox-buttons.css?v=1.0.5" />
<script type="text/javascript" src="image-library/source/helpers/jquery.fancybox-buttons.js?v=1.0.5"></script>

<!-- Add Thumbnail helper (this is optional) -->
<link rel="stylesheet" type="text/css" href="image-library/source/helpers/jquery.fancybox-thumbs.css?v=1.0.7" />
    <script type="text/javascript" src="image-library/source/helpers/jquery.fancybox-thumbs.js?v=1.0.7"></script>

<!-- Add Media helper (this is optional) -->
<script type="text/javascript" src="image-library/source/helpers/jquery.fancybox-media.js?v=1.0.6"></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 = '';
            }
        });


        /*
         *  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 : 'iframe.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>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>    
<link rel="stylesheet" href="filter/filtrify.css">
<script src="filter/highlight.pack.js"></script>
<script src="filter/script.js"></script>
<script src="filter/filtrify.min.js"></script>
<script type="text/javascript">

$(function() {
var ft = $.filtrify("cbp-rfgrid", "placeHolder");


$("a#1").click(function() {
    ft.trigger({ categories : ["Photography"] });
});

$("a#2").click(function() {
    ft.trigger({ categories : ["Retouching"] });
});

$("a#3").click(function() {
    ft.trigger({ categories : ["CGI"] });
});

$("a#4").click(function() {
    ft.trigger({ categories : ["Oranges"] });
});

$("div#triggers > a").click(function() {
    $(this)
        .addClass("selected")
        .siblings("a")
        .removeClass("selected");

});

$("a#reset strong").click(function() {
    ft.reset();
    $(this).addClass("selected");
    $('#triggers .selected').removeClass("selected");
});
$("li").click(function() {
    ft.reset();
    $(this).addClass("selected");
    $('#triggers .selected').removeClass("selected");
});


});

</script>

</head>

你也可以参考下面的链接,看看它有没有奇特的盒子问题......

http://arqqa.net/aostudio-beta/

3 个答案:

答案 0 :(得分:1)

在您的实例中,首先调用jQuery(1.10.1),然后嵌入Fancybox脚本,然后执行fancybox脚本。 在你的行动部分之后,你正在调用另一个jQuery(1.8.2)。拥有多个jQuery实例可能会给你带来冲突。

  • 仅使用jQuery一次,并使其成为第一个要执行的脚本。
  • 确保您的操作是最后执行的脚本。
  • 将您的操作放在外部javascript文件中。
  • 将javascript放在文档中的结束正文标记之前。

答案 1 :(得分:0)

不幸的是,我可以确认这不适用于更高版本的jQuery(1.0.7)。我下载了

中的演示版

http://tutorialzine.com/2011/02/converting-jquery-code-plugin/

并将jQuery lib引用替换为更高版本,并且ddl无法运行。

注意 - 我也知道我在这里没有提供答案,但是在网站管理员的无限智慧中,我不允许在没有达到所需的布朗尼点数的情况下发表评论!

答案 2 :(得分:0)

您可以同时使用两个版本的jquery:

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