gio*_*ine 1 html javascript jquery image cross-browser
我尝试使用JQuery广告将图像加载到HTML元素中,使用图像属性来执行其他操作.我试图做的是这样的:
var img = new Image();
img.src = "icon.png";
var width = img.width;
var height = img.height;
$("#element").css("background-image", "url(" + img.src + ")");
//use width and height...
Run Code Online (Sandbox Code Playgroud)
它大部分时间都有效,但我发现有时"宽度"和"高度"设置为0.做一些搜索我发现图像加载是一个异步作业,所以碰巧我试图读取属性时它是仍未加载.我发现有一个onLoad事件可以用来在加载图像时指定一个回调函数.
我想知道这是否是做这些事情的最佳方式.例如,假设我只需要一些关于图像的信息,但我不需要显示它,我想管理那个信息客户端.我需要加载图片吗?是否有其他方式来获取此类信息?
您必须等待加载图像:
var img = new Image();
img.onload = function() {
var width = img.width;
var height = img.height;
$("#element").css("background-image", "url(" + img.src + ")");
};
img.src = "icon.png";
Run Code Online (Sandbox Code Playgroud)
由于必须从分配给"src"属性的URL中提取图像,因此将异步处理该操作.也就是说,您不能保证在分配"src"属性后该图像可用于该语句.
它有时会起作用,因为您的图像可能会被缓存.
| 归档时间: |
|
| 查看次数: |
1364 次 |
| 最近记录: |