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实现图片无间断轮播效果
Aug 25 HTML / CSS
css3背景_动力节点Java学院整理
Jul 11 HTML / CSS
CSS3媒体查询Media Queries基础学习教程
Feb 29 HTML / CSS
canvas烟花特效锦集
Jan 17 HTML / CSS
网易微博Web App用HTML5开发的过程介绍
Jun 13 HTML / CSS
html5适合移动应用开发的12大特性
Mar 19 HTML / CSS
Html5实现移动端、PC端 刮刮卡效果
Jun 30 HTML / CSS
canvas离屏技术与放大镜实现代码示例
Aug 31 HTML / CSS
html5借用repeating-linear-gradient实现一把刻度尺(ruler)
Sep 09 HTML / CSS
奇妙的 CSS shapes(CSS图形)
Apr 05 HTML / CSS
深入理解margin塌陷和margin合并的解决方案
Jun 26 HTML / CSS
什么是clearfix (一文搞清楚css清除浮动clearfix)
May 21 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
自己动手做一个SQL解释器
2006/10/09 PHP
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
2013/07/03 PHP
php生成随机数的三种方法
2014/09/10 PHP
php+mysql实现用户注册登陆的方法
2015/01/03 PHP
PHP版微信第三方实现一键登录及获取用户信息的方法
2016/10/14 PHP
laravel 之 Eloquent 模型修改器和序列化示例
2019/10/17 PHP
一些易混淆且不常用的属性,希望有用
2007/01/29 Javascript
JS实现随机数生成算法示例代码
2013/08/08 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
一个Action如何调用两个不同的方法
2014/05/22 Javascript
AngularJS基础 ng-keyup 指令简单示例
2016/08/02 Javascript
vue实现简单的星级评分组件源码
2018/11/16 Javascript
微信小程序解除10个请求并发限制
2018/12/18 Javascript
JavaScript类的继承操作实例总结
2018/12/20 Javascript
微信小程序textarea层级过高的解决方法
2019/03/04 Javascript
Vue+Element实现动态生成新表单并添加验证功能
2019/05/23 Javascript
Vue实现导航栏的显示开关控制
2019/11/01 Javascript
js HTML DOM EventListener功能与用法实例分析
2020/04/27 Javascript
手把手教你实现 Promise的使用方法
2020/09/02 Javascript
详解vue 组件的实现原理
2020/11/12 Javascript
[05:03]显微镜下的DOTA2第十期——Ti3豪之超神幽鬼
2014/06/23 DOTA
[07:39]第一届亚洲邀请赛回顾视频
2017/02/14 DOTA
Python多线程、异步+多进程爬虫实现代码
2016/02/17 Python
Python中pow()和math.pow()函数用法示例
2018/02/11 Python
Python pycharm 同时加载多个项目的方法
2019/01/17 Python
Python paramiko模块使用解析(实现ssh)
2019/08/30 Python
Python *args和**kwargs用法实例解析
2020/03/02 Python
python 根据列表批量下载网易云音乐的免费音乐
2020/12/03 Python
香港化妆品经销商:我的公主
2016/08/05 全球购物
韩国女装NO.1网店:STYLENANDA
2016/09/16 全球购物
说出ArrayList,Vector, LinkedList的存储性能和特性
2015/01/04 面试题
十岁生日父母答谢词
2014/01/18 职场文书
中职招生先进个人材料
2014/08/31 职场文书
公司行政主管岗位职责
2015/04/09 职场文书
初中语文教师研修日志
2015/11/13 职场文书
SQL Server中交叉联接的用法详解
2021/04/22 SQL Server