HTML5 图片预加载的示例代码
程序员文章站
2022-05-11 08:53:57
这篇文章主要介绍了HTML5 图片预加载的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 20-03-25...
在html5中,我们可以使用drawimage方法在canvas上进行画图操作,其基本代码如下:
var canvas = document.getelementbyid("canvas"); var context = canvas.getcontext("2d"); var image = new image(); image.src = "images/01.jpg"; context.drawimage(image, 0, 0);
不过我们会发现这样写是无法显示出图片的,因为图片并没有加载完全,我们就调用了drawimage方法,我们可以使用img的onload方法,使图片加载完全后
在执行drawimage操作,代码如下
var image = new image(); image.src = "images/01.jpg"; image.onload = function() { context.drawimage(image, 0, 0); }
或者使用<img>标签先加载图片
<img src="images/01.jpg" style="display: none" id="image">
然后使用getelementbyid来获得图片对象
var image = document.getelementbyid('image');
但是在图片较多的情况下,使用上面两种方式都不是太优雅,我们可以使用下面的方法,等待所有图片加载完全后,再执行其他操作
document.addeventlistener("domcontentloaded", loadimages, true); var images = new array(3), imagenums = 0; function loadimages() { for (var i = 0; i < images.length; i++) { images[i] = new image(); images[i].addeventlistener("load", trackprocess, true); images[i].src = "images/01.jpg"; } } function trackprocess() { imagenums++; if (imagenums = images.length) { drawimages(); } } function drawimages() { var canvas = document.getelementbyid("canvas"); var context = canvas.getcontext("2d"); for (var i = 0; i < images.length; i++) { context.drawimage(images[i], 200 * i, 0); } }
参考文章: preloading images
到此这篇关于html5 图片预加载的示例代码的文章就介绍到这了,更多相关html5 图片预加载内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!