您的位置:首页 > Web前端 > JavaScript

JS动态加载图片

2011-09-28 17:43 465 查看
如下js可以载入一个还没有在页面中的图片,并且可以获得其高度和宽度:

function EnhancedImage(src,onLoaded){
var self = this;
this.src = src;
this.width = 0;
this.height = 0;
this.onLoaded = onLoaded;
this.loaded = false;
this.image = null;

this.load = function(){
if(this.loaded)
return;
this.image = new Image();
this.image.src = this.src;
function loadImage(){
if(self.width != 0 && self.height != 0){
clearInterval(interval);
self.loaded = true;
self.onLoaded(self);//将实例传入回调函数
}
self.width = self.image.width;//是number类型
self.height = self.image.height;
}
var interval = setInterval(loadImage,100);
}
}
总的原理就是new一个Image对象,设置了src属性过后,不断的检查需要载入的图片的宽和高,如果载入图片成功的话,宽和高都是不为0的数值,这个时候停止Interval ,并且执行onLoaded。

这段js代码的使用方法:

var img = new EnhancedImage("http://www.google.cn/intl/zh-CN/images/logo_cn.gif",onImageLoad);
function onImageLoad(image){
document.body.appendChild(image.image);
alert("image loaded and the size is " + image.width + "*" + image.height);
}

function Button1_onclick() {
img.load();
}

// if ($ != jQuery) {
$ = jQuery.noConflict();
}
var isLogined = true;
var cb_blogId = 38014;
var cb_entryId = 1311293;
var cb_blogApp = "LongWay";
var cb_blogUserGuid = "f13d420b-63cf-dd11-9e4d-001cf0cd104b";
var cb_entryCreatedDate = '2008/10/15 21:52:00';
// ]]>

分类: Javascript
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: