2

我有一小段代码可以从 smugmug 中获取我的图像。我的问题是我需要在我的其余代码导入和触发之前完成它。我看过其他帖子,但似乎没有一个适合我的特殊情况。代码如下:

(function($) {

$.fn.slideShow = function(options) {
var albumID = options.albumID;
var size = options.size || "Medium";
var delay = options.delay || 3000;
var div = this;

// Setup div
this.empty();
div.append("<ul></ul>");
$("ul:first").attr("title","fashion");
$("ul:first").addClass("stretch");
ul = div.find("ul");

$.smugmug.login.anonymously(function() {
    $.smugmug.images.get({AlbumID: albumID, Heavy: 1}, function(images) {
        $.each(images.Images, function() {
            var url = this[size + "URL"];

            console.log("Add img" + url);
            ul.append("<li title=\"" +  url + "\" /></li>");
        });

    });
});

};


})(jQuery);

我从 HTML 中调用它并通过以下方式传递参数:

<script type="text/javascript">
nick = "hurleyhome";
    $(function() {
        $("#bg-images").slideShow({
            size: "Medium",
            albumID: "22516379",
            delay: 5000
        });
    });
</script>

在此之后我需要运行的脚本是从脚本标签导入的标准 JS。

任何帮助将不胜感激。

我正在考虑一个 $(window).load 事件,但不完全确定如何实现它。

谢谢

4

2 回答 2

0

不确定我是否收到问题,但看起来您已经有了成功功能,只需将脚本放在那里,如下所示:

$.smugmug.login.anonymously(function() {
    $.smugmug.images.get({AlbumID: albumID, Heavy: 1}, function(images) {
        $.each(images.Images, function() {
            var url = this[size + "URL"];
            console.log("Add img" + url);
            ul.append("<li title=\"" +  url + "\" /></li>");
        });
        //get external javascript script here after images are inserted.
        $.getScript('http://mysite.com/path/to/myscriptfile.js');
    });
});

如果您需要等到所有图像都实际加载完毕,您必须为每个图像附加一个 load() 事件并检查它们是否都已加载或类似的东西..

于 2012-04-22T17:12:27.010 回答
0

将您的图像导入代码放在一个

$(document).ready(function() {

});

和其余的进口

$(window).load(function() {

});
于 2012-04-22T17:12:54.343 回答