使用jquery加载图像然后运行其余脚本

时间:2012-04-22 16:50:54

标签: javascript jquery

我有一小段代码可以从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中调用它并传递params:

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

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

任何帮助都会被贬低。

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

由于

2 个答案:

答案 0 :(得分: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()事件附加到每个图像并检查它们是否全部加载或类似的东西..

答案 1 :(得分:0)

将图片导入代码放在

$(document).ready(function() {

});

以及

中的其他导入内容
$(window).load(function() {

});