JavaScript函数中调用的CSS图像有时无法加载

JavaScript函数中调用的CSS图像有时无法加载,javascript,css,file-upload,background-image,Javascript,Css,File Upload,Background Image,有时,CSS背景图像无法加载。这可能是什么原因 我有如下Javascript代码: function progressBar(file_id) { pbar = ($("<div />").attr('id',file_id+"-statusicon").css({"background-image" : "url('../img/test-skip-icon.png')", "width" : "16px", "height" : "16px"})); $("#"

有时,CSS背景图像无法加载。这可能是什么原因

我有如下Javascript代码:

function progressBar(file_id) {

    pbar = ($("<div />").attr('id',file_id+"-statusicon").css({"background-image" : "url('../img/test-skip-icon.png')", "width" : "16px", "height" : "16px"}));
    $("#"+file_id+" .status").append(pbar);
}
问题是,有时图像加载正确,有时则不正确。png图像大小约为9KB


有什么想法吗?

您可能需要在调用之前预加载图像,以确保它在缓存中。有很多关于预加载图像的文章。您可能还想考虑使用数据:图像的URI,因此它根本不需要从文件系统加载——Mike McCaughan < /P>当它不加载时,您确定文件名是否正确?这是从哪里调用的?它是否包装在$(document).ready()中?相对背景URL链接是相对于CSS文件的,而不是相对于HTML文件或JS文件的。你确定路径正确吗?通常它不会加载,在我第一次尝试上载文件时,它就像一个小状态图标,显示上载文件的状态。但如果上传完成后,我再次尝试上传,它会正确显示。是的,路径是正确的。否则它不会一直显示:)您可能希望在调用之前预加载映像,以确保它位于缓存中。有很多关于预加载图像的文章。您可能还需要考虑使用数据:图像的URI,因此它根本不需要从文件系统加载。
progressBar(file_id);