在HTML5中图片预加载功能怎样做,代码是什么
Admin 2022-07-12 群英技术资讯 1138 次浏览
这篇文章主要讲解了“在HTML5中图片预加载功能怎样做,代码是什么”,文中的讲解内容简单、清晰、详细,对大家学习或是工作可能会有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路一起来学习一下吧。在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);
}
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了纯CSS表头固定的实现代码的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
平时工作中很多场合都要用到定时器,比如延迟加载、定时查询等等,但定时器的控制有时候会有些许麻烦,比如鼠标移入停止、移出再重新开始。这次介绍几个借助 CSS 来更好的控制定时器的方法,一起了解一下吧,相信可以带来不一样的体验。
CSS中img图片怎样实现等比例缩小的效果?有时候我们上传的图片太大了想要对img图片进行缩小,而CSS中,我们使用transform属性配合scale()函数就可以实现等比例缩小的效果,下面我们就来看看具体是怎样实现的。
这篇文章主要介绍了HTML n种方式实现隔行变色的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
今天给大家分享的是关于css边框的内容,在CSS中,我们可以使用border来实现边框效果,但是一般的边框是黑边直线的,这样有些单调,其实边框也是有很多丰富的样式的,因此这篇文章就给大家分享几个实现好看的CSS边框的技巧,感兴趣的朋友可以参考。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008