HTML5 用动画的表现形式装载图像


Posted in HTML / CSS onMarch 08, 2016

示例使用HTML5的canvas标签和Javascript脚本,简单的编写了装载图片效果,请使用支持HTML5的浏览器预览效果:
下图为以逐渐横向栅格的效果图

HTML5 用动画的表现形式装载图像

html部分:
XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE html>    
  2. <html lang="en">    
  3. <head>    
  4. <meta charset="UTF-8">    
  5. <title>html5 装载图片</title>    
  6. </head>    
  7. <body>    
  8. <button onclick="drawImg1()">从左到右</button>    
  9. <button onclick="drawImg2()">从中央到左右两边</button>    
  10. <button onclick="drawImg3()">以逐渐横向栅格</button>    
  11. <hr/>    
  12. <canvas class="canvas" id="canvas" width="600" height="300"></canvas>    
  13. </body>    
  14. </html>   

JavaScript部分:
 
XML/HTML Code复制内容到剪贴板
  1.  //初始化    
  2. var canvas = document.getElementById("canvas"),    
  3. context = canvas.getContext("2d"),    
  4. image = new Image();    
  5. image.src = "img/test.jpg";    
  6. //从左到右加载方法    
  7. function drawImg1(){    
  8. var drawWidth = 0,    
  9. interval = setInterval(function(){    
  10. context.drawImage(image, 0, 0, drawWidth, image.height, 0, 0, drawWidth, image.height);    
  11. drawWidth += 20;    
  12. if(drawWidth > canvas.width) clearInterval(interval);    
  13. },100);    
  14. }    
  15. //从中央向左右两边拉开加载方法    
  16. function drawImg2(){    
  17. var drawWidth = 0,    
  18. drawLeft = canvas.width/2,    
  19. interval = setInterval(function(){    
  20. context.drawImage(image, drawLeft, 0, drawWidth, image.height, drawLeft, 0, drawWidth, image.height);    
  21. drawWidth += 20;    
  22. drawLeft -10;    
  23. if(drawLeft < 0) clearInterval(interval);    
  24. },100);    
  25. }    
  26. //以逐渐横向栅格加载方法    
  27. function drawImg3(){    
  28. var drawWidth = 0,    
  29. spaceWidth = canvas.width/20, //10指分割的块数    
  30. interval = setInterval(function(){    
  31. for(var i = 0;i<20;i++){    
  32. context.drawImage(image, i*spaceWidth, 0, drawWidth, image.height, i*spaceWidth, 0, drawWidth, image.height);    
  33. }    
  34. drawWidth += 5;    
  35. if(drawWidth > spaceWidth) clearInterval(interval);    
  36. },100);    
  37. }  

以上内容是小编给大家介绍的HTML5 用动画的表现形式装载图像,希望对大家有所帮助!

HTML / CSS 相关文章推荐
CSS3制作精致的照片墙特效
Jun 07 HTML / CSS
CSS3 translate导致字体模糊的实例代码
Aug 30 HTML / CSS
css3 media 响应式布局的简单实例
Aug 03 HTML / CSS
Html5 postMessage实现跨域消息传递
Mar 11 HTML / CSS
HTML5 File接口在web页面上使用文件下载
Feb 27 HTML / CSS
HTML5事件方法全部汇总
May 12 HTML / CSS
Canvas引入跨域的图片导致toDataURL()报错的问题的解决
Sep 19 HTML / CSS
canvas绘制圆角头像的实现方法
Jan 17 HTML / CSS
HTML5 播放 RTSP 视频的实例代码
Jul 29 HTML / CSS
使用canvas实现黑客帝国数字雨效果
Jan 02 HTML / CSS
HTML5开发动态音频图的实现
Jul 02 HTML / CSS
Canvas在超级玛丽游戏中的应用详解
Feb 06 HTML / CSS
HTML5离线缓存Manifest是什么
Mar 09 #HTML / CSS
html5 touch事件实现触屏页面上下滑动(一)
Mar 10 #HTML / CSS
html5 touch事件实现触屏页面上下滑动(二)
Mar 10 #HTML / CSS
html5 touch事件实现页面上下滑动效果【附代码】
Mar 10 #HTML / CSS
Html5 postMessage实现跨域消息传递
Mar 11 #HTML / CSS
html5 canvas实现跟随鼠标旋转的箭头
Mar 11 #HTML / CSS
HTML5如何实现元素拖拽
Mar 11 #HTML / CSS
You might like
PHP 获取远程文件大小的3种解决方法
2013/07/11 PHP
php验证邮箱和ip地址最简单方法汇总
2015/10/30 PHP
php swoft框架实例用法
2020/12/22 PHP
JavaScript让IE浏览器event对象符合W3C DOM标准
2009/11/24 Javascript
jquery 卷帘效果实现代码(不同方向)
2013/02/05 Javascript
JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
2013/11/28 Javascript
javascript修改IMG标签的src问题
2014/03/28 Javascript
jQuery的Scrollify插件实现滑动到页面下一节点
2015/07/05 Javascript
jQuery中prepend()方法使用详解
2015/08/11 Javascript
Node.js操作Firebird数据库教程
2016/03/04 Javascript
Nodejs中的this详解
2016/03/26 NodeJs
基于JS+Canves实现点击按钮水波纹效果
2016/09/15 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
2017/02/14 Javascript
jQuery EasyUI 为Combo,Combobox添加清除值功能的实例
2017/04/13 jQuery
js下载文件并修改文件名
2017/05/08 Javascript
详解vue.js2.0父组件点击触发子组件方法
2017/05/10 Javascript
基于Vue渲染与插件的加载顺序的问题详解
2018/03/05 Javascript
详解Angular6 热加载配置方案
2018/08/18 Javascript
[15:35]教你分分钟做大人:天怒法师
2014/10/30 DOTA
[47:42]完美世界DOTA2联赛PWL S2 GXR vs Ink 第一场 11.19
2020/11/20 DOTA
Python写的Discuz7.2版faq.php注入漏洞工具
2014/08/06 Python
Python多线程threading和multiprocessing模块实例解析
2018/01/29 Python
微信公众号token验证失败解决方案
2019/07/22 Python
python3调用windows dos命令的例子
2019/08/14 Python
Python列表list常用内建函数实例小结
2019/10/22 Python
Python vtk读取并显示dicom文件示例
2020/01/13 Python
基于python和flask实现http接口过程解析
2020/06/15 Python
加拿大休闲和工业服装和鞋类零售商:L’Équipeur
2018/01/12 全球购物
法国春天百货官网:Printemps.com
2020/06/29 全球购物
什么是Smart Navigation?
2016/07/03 面试题
护理专业应届毕业生推荐信
2013/11/15 职场文书
医学实习生自我鉴定
2013/12/12 职场文书
公司党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
开除通知书范本
2015/04/25 职场文书
转正申请报告格式
2015/05/15 职场文书
Redis过期数据是否会被立马删除
2022/07/23 Redis