在HTML5中图片预加载功能怎样做,代码是什么
Admin 2022-07-12 群英技术资讯 1059 次浏览
这篇文章主要讲解了“在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中,可以利用clear属性清除左右浮动,该属性的作用就是规定元素的哪一侧不允许其他浮动元素,当属性的值为“both”时,在元素的左右两侧均不允许浮动元素,也就是清除左右浮动,语法为“元素{clear:both;}”。
本篇文章给大家带来了css定位布局的相关知识,下面我们就来看一下什么是相对定位、绝对定位以及定位不同的元素性质与用途等知识,希望对大家有帮助。
这篇文章给大家分享的是CSS3中keyframes属性的作用和使用,keyframes用于规定元素的动画动作,文中的示例代码介绍得很详细,具有一定的参考价值,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。
这篇文章给大家分享的是移动端flex布局中单行和双行效果的实现。小编觉得挺实用的,因此分享给大家做个参考,文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。
在web项目中我们经常要使用时间轴(timeline)控件。本文提供一种基于CSS3的可逐项展开的timeline,在各展开项中可以嵌入文本、图片、视频等元素。运行效果如下: 实现 该控件的实现过程较为简单,主要由test.html文件和timeline.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