经测试,在firefox上可以显示图片,但是在chrome上无法显示,求教?
<style>
#canvas{
border:1px solid yellow;
position:absolute;
left:500px;
top:50px;
}
</style>
<script src="demo.js"></script>
demo.js:
window.onload=function(){
var Canvas=document.getElementById("canvas");
var cxt=Canvas.getContext("2d");
var bg=new Image();
bg.src="../img/2-14020314314A26.jpg";
cxt.drawImage(bg,0,0);
};
PHP中文网2017-04-10 15:22:09
window.onload=function(){
var Canvas=document.getElementById("canvas");
var cxt=Canvas.getContext("2d");
var bg=new Image();
//你指定了图片的地址,但是图片的加载是需要时间的
bg.src="../img/2-14020314314A26.jpg";
//执行完上面一行,马上就开始画这个图
//虽然bg这个对象有了,但是图片还没有加载完成,因此画的时候什么都没有
cxt.drawImage(bg,0,0);
};
改成这样:
window.onload=function(){
var Canvas=document.getElementById("canvas");
var cxt=Canvas.getContext("2d");
var bg=new Image();
//先指定一个回调函数,图片加载好之后自然会回来执行
bg.onload = function () {
cxt.drawImage(bg,0,0);
};
//加载图片,完成后执行刚才的函数
bg.src="../img/2-14020314314A26.jpg";
};
感兴趣的话可以来看看我的Gorgeous.JS。
天蓬老师2017-04-10 15:22:09
var bg=new Image();
bg.src="../img/2-14020314314A26.jpg";//只是更新了DOM对象,图片数据信息还未加载完成,加载资源是异步执行的
需要监听load事件的,事件发生后,就能获取资源
如楼上所写...