欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

HTML5 图片预加载的示例代码

程序员文章站 2022-09-17 13:16:52
这篇文章主要介绍了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 图片预加载内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!