我正在尝试使用jquery制作一个预加载器。有人请告诉我我们能早点获得图像的宽度和高度,这样我就可以将preloader.gif置于实际图像的中间并进行绝对定位吗? / p>
换句话说,我想在设置图像宽度和高度后立即调用一个函数。怎么做?有可能吗?
答案 0 :(得分:0)
应该在图像请求返回浏览器后立即进行。但是,如果您知道图片的确切宽度和高度,则应使用HTML中的height=
和width=
属性或width:
和height:
属性设置它们。 CSS。这将确保浏览器在必须请求图像之前确切地知道尺寸。
答案 1 :(得分:0)
* 图片有点混乱在示例中...抱歉
var img = new Image();
img.src = "http://th06.deviantart.net/fs71/PRE/f/2010/263/0/d/random_manga_oc_2_by_alcuinus-d2z45x0.png";
img.onload = function(){
this.style.marginLeft = (-this.width / 2) + "px";
this.style.marginTop = (-this.height / 2) + "px";
alert("This image's dimensions are " + this.width + " by " + this.height);
}
那会让你到那儿。基本概念是创建一个js图像对象(如果图像已经加载到标记中,它将从缓存中加载),并且在加载时,根据加载的js版本的尺寸分配HTML版本的边距值。