检查图像是否在特定时间内加载

时间:2015-12-09 16:10:18

标签: javascript jquery image

我正在尝试使用JS加载图像并给它一定的时间加载。例如1秒。如果图像未在1秒内加载 - 请使用默认图像。这是我到目前为止所做的:

function displayUserImage() {
    setTimeout(function(){
        var imageMe = new Image();
        imageMe.onload = function(){
            $('#user-img-me').css('background-image', 'url(' + imageMe.src + ')');
        };
        imageMe.onerror = function() {
            imageMe.src = "images/defaultImage.png";
        }

        if(!isEmpty(myObject.getPic()) && !isBlank(myObject.getPic())) {
            imageMe.src = myObject.getPic();
        }
        else {
            imageMe.src = "images/defaultImage.png";
        }
    }, 0);
}

我将timeOut设置为0只是为了使图像加载异步,而不是干扰其余代码的执行。 myObject.getPic()返回带有图像路径的字符串。图像可以位于远程域/服务器上。连接可能很慢,图像可能很重,服务器可能没有响应...所以我想只给这个图像加载一秒钟,如果没有成功 - 使用默认图像。在这两种情况下,我需要在加载任一图像后将外部变量imageMeLoaded设置为true。可以吗?

0 个答案:

没有答案