怎么解决html5中图片排列问题
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章主要介绍"怎么解决html5中图片排列问题",在日常操作中,相信很多人在怎么解决html5中图片排列问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么解决h
千家信息网最后更新 2025年01月31日怎么解决html5中图片排列问题
这篇文章主要介绍"怎么解决html5中图片排列问题",在日常操作中,相信很多人在怎么解决html5中图片排列问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么解决html5中图片排列问题"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
在开发中,如果遇到需要使用canvas同时绘制多张图片,但因为图片大小的不一样,排在数组前面的图片不一定能先被load然后绘制,就可能会导致画出来的图的排列顺序和预想的不一样(特别是因为跨域加了域名重定向的图片尤为明显),我的解决办法是:先全部画出来再排序再append到需要的节点里去。
let imgArray = ['img1.png', 'img2.png'];let receiveArray = new Array();let $myContent = document.getELmentById("myContent");let {imgW, imgH} = {300, 300};let Canvas = document.createElement('canvas');let ctx = Canvas.getContext("2d");let scaleBy = 2;Canvas.width = imgW * scaleBy;Canvas.height= imgH * scaleBy;imgArray.forEach((e, idx) => { let img = new Image(); img.src = e; e.addEventListener('load', () => { ctx.drawImage(img, 0, 0, imgW * scaleBy, imgH * scaleBy); let imgCont = new Image(); imgCont.src = Canvas.toDataURL(); imgCont.id = 'img' + idx; receiveArray.push(imgCont); // 将绘制的img节点收集到数组里,这里的顺序可能和imgArray的顺序不一样 if (receiveArray.length === imgArray.length) { //所有图片load并绘制完成 let sortArr = new Array(); receiveArray.forEach(ex => { //将所有绘制图片按imgArray顺序排序 sortArr[ex.id.split('img')[1]] = ex; }) sortArr.forEach(ex2 => { $myContent.appendChild(ex2) }) } })})
其实这也是一种略显无奈的做法,因为无法判断加载图片的实际大小,小的图片会先load并绘制,如果重定向域名后会加大这种现象,采用了绘制完再排序的做法。
到此,关于"怎么解决html5中图片排列问题"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
图片
问题
顺序
学习
排序
做法
域名
大小
数组
更多
节点
帮助
实用
明显
接下来
办法
同时
多张
实际
尤为
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
关系数据库理论及应用
7大服务器
中国移动数据库运维工程师
虎林软件开发文档在线咨询
宿州企业软件开发公司
凡人修仙传服务器无法连接
弹性云服务器有和特点
服务器复工信息化系统保驾护航
小学 网络安全课
十大互联网领先科技
改革开放40周年与网络安全
互联网科技刊
东丽区企业网络技术售后保障
不履行网络安全义务
江西数据库培训费用
山东专业软件开发设施价格优惠
网络安全检查意见书 深圳市
网络安全投标标书范本
xboxone怎么切登录服务器
泾县微型软件开发服务代理品牌
sqlite如何打开数据库
计算机网络技术综合实验
事业编网络安全员
服务器 0981
安卓app服务器搭建教程
巴中软件开发厂家价格
网络技术学院可以考什么证
服务器软件如何设置启动
dell服务器设管理口ip
自己建立服务器代理池