0

我正在使用 getscript() 为我的图片库加载一些脚本。一旦我点击图库,此代码就会运行:

$(function () {
$(window).hashchange(function () {
    $(document).ready(function () {
        $('#nav li a').click(function () {
            $('#content-wrap').load(toLoad, showNewContent);

            function showNewContent() {
                if ($('#content-wrap').is(':empty')) {
                    return false;
                } else {
                    if (window.location.hash == "#photos") {
                        alert("soundswaste1");
                        $.getScript("galleria/galleria-1.2.8.min.js");
                        $.getScript("galleria/themes/classic/galleria.classic.min.js", getGalleria);

                        function getGalleria() {
                            alert("soundswaste2");
                            $.getScript("galleria.js");
                        }
                    }
                    $('#content-wrap').fadeIn(500).css("display", "block");
                }
                return false;
            });
        });
    });
});

首先我去chrome控制台->右键单击网络选项卡->清除浏览器缓存->刷新页面->然后单击照片。我收到警报“soundswaste1”,但效果没有运行。图像只是在页面上排列。

然后我只需再次单击“照片”,我就会收到两个警报,每个警报两次。2个问题:

  1. 为什么清除缓存会阻止所有脚本第一次加载。是因为它们位于不同的路径吗?

  2. 为什么我第二次收到两次警报?

4

1 回答 1

1

我想galleria.classic.min.js取决于galleria-1.2.8.js 第一次加载,您尝试一个接一个地加载它们,但是要确保在加载第二个脚本时第一个完成加载。依此类推success第一个,加载第二个,如下所示:

$(document).ready(function () {
    $('#nav li a').click(function () {
        $('#content-wrap').load(toLoad, showNewContent);

        function showNewContent() {
            if ($('#content-wrap').is(':empty')) {
                return false;
            } else {
                if (window.location.hash == "#photos") {
                    alert("soundswaste1");
                    $.getScript("galleria/galleria-1.2.8.min.js",

                    function () {
                        $.getScript("galleria/themes/classic/galleria.classic.min.js",

                        function () {
                            alert("soundswaste2");
                            $.getScript("galleria.js");
                        });
                    });


                }
                $('#content-wrap').fadeIn(500).css("display", "block");
            }
            return false;
        });
    });
于 2012-10-11T07:17:38.363 回答