星空网 > 软件开发 > 网页设计

html5 canvas用动画的形式装载图像

本示例使用HTML5的canvas标签和Javascript脚本,简单的编写了装载图片效果, 请使用支持HTML5的浏览器预览效果:

下图为以逐渐横向栅格的效果图

html5 canvas用动画的形式装载图像

html部分:

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>html5 装载图片</title></head><body><button onclick="drawImg1()">从左到右</button><button onclick="drawImg2()">从中央到左右两边</button><button onclick="drawImg3()">以逐渐横向栅格</button><hr/><canvas class="canvas" id="canvas" width="600" height="300"></canvas></body></html>

JavaScript部分:

  //初始化  var canvas = document.getElementById("canvas"),    context = canvas.getContext("2d"),    image = new Image();    image.src = "img/test.jpg";   //从左到右加载方法  function drawImg1(){    var drawWidth = 0,      interval = setInterval(function(){        context.drawImage(image, 0, 0, drawWidth, image.height, 0, 0, drawWidth, image.height);        drawWidth += 20;        if(drawWidth > canvas.width) clearInterval(interval);      },100);  }  //从中央向左右两边拉开加载方法  function drawImg2(){    var drawWidth = 0,      drawLeft = canvas.width/2,      interval = setInterval(function(){        context.drawImage(image, drawLeft, 0, drawWidth, image.height, drawLeft, 0, drawWidth, image.height);        drawWidth += 20;        drawLeft -= 10;        if(drawLeft < 0) clearInterval(interval);      },100);  }    //以逐渐横向栅格加载方法  function drawImg3(){    var drawWidth = 0,      spaceWidth = canvas.width/20, //10指分割的块数      interval = setInterval(function(){        for(var i = 0;i<20;i++){          context.drawImage(image, i*spaceWidth, 0, drawWidth, image.height, i*spaceWidth, 0, drawWidth, image.height);        }        drawWidth += 5;        if(drawWidth > spaceWidth) clearInterval(interval);      },100);  }

 




原标题:html5 canvas用动画的形式装载图像

关键词:HTML

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

禁售产品:https://www.goluckyvip.com/tag/309.html
承诺送达时间:https://www.goluckyvip.com/tag/3090.html
俄罗斯海外仓库:https://www.goluckyvip.com/tag/30900.html
俄罗斯海外仓哪家好:https://www.goluckyvip.com/tag/30901.html
俄罗斯海外仓排名:https://www.goluckyvip.com/tag/30902.html
俄罗斯海外仓收费:https://www.goluckyvip.com/tag/30903.html
instagram竞品“TikTok Notes”在加拿大和澳大利亚上线:https://www.kjdsnews.com/a/1842224.html
instagram竞品“TikTok Notes”在加拿大和澳大利亚上线:https://www.goluckyvip.com/news/220211.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流