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 27 HTML / CSS
CSS3近阶段篇之酷炫的3D旋转透视
Apr 28 HTML / CSS
CSS3自定义滚动条样式 ::webkit-scrollbar的示例代码详解
Jun 01 HTML / CSS
CSS3实现苹果手机解锁的字体闪亮效果示例
Jan 05 HTML / CSS
解决H5的a标签的download属性下载service上的文件出现跨域问题
Jul 16 HTML / CSS
HTML5本地存储之Web Storage应用介绍
Jan 06 HTML / CSS
html5实现完美兼容各大浏览器的播放器
Dec 26 HTML / CSS
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
Jan 01 HTML / CSS
HTML5、Select下拉框右边加图标的实现代码(增进用户体验)
Oct 16 HTML / CSS
Canvas图片分割效果的实现
Jul 29 HTML / CSS
Canvas在超级玛丽游戏中的应用详解
Feb 06 HTML / CSS
CSS实现单选折叠菜单功能
Nov 01 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连接SQLServer2005方法及代码
2013/12/26 PHP
使用php显示搜索引擎来的关键词
2014/02/13 PHP
PHP中imagick函数的中文解释
2015/01/21 PHP
PHP安全上传图片的方法
2015/03/21 PHP
PHP输出缓冲控制Output Control系列函数详解
2015/07/02 PHP
php 函数使用可变数量的参数方法
2017/05/02 PHP
PHP实现文件上传操作和封装
2020/03/04 PHP
jquery 将disabled的元素置为enabled的三种方法
2009/07/25 Javascript
jQuery简单实现banner图片切换
2014/01/02 Javascript
javascript校验价格合法性实例(必须输入2位小数)
2014/05/05 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
2014/07/30 Javascript
javascript去除字符串左右两端的空格
2015/02/05 Javascript
node-webkit打包成exe文件被360误报木马的解决方法
2015/03/11 Javascript
javascript bom是什么及bom和dom的区别
2015/11/26 Javascript
AngularJS中的过滤器filter用法完全解析
2016/04/22 Javascript
解析Vue2.0双向绑定实现原理
2017/02/23 Javascript
详解Node.js中exports和module.exports的区别
2017/04/19 Javascript
详解nodeJS之路径PATH模块
2017/05/31 NodeJs
jQuery实现鼠标响应式淘宝动画效果示例
2018/02/13 jQuery
vue2.0+vue-dplayer实现hls播放的示例
2018/03/02 Javascript
electron实现静默打印的示例代码
2019/08/12 Javascript
vue新建项目并配置标准路由过程解析
2019/12/09 Javascript
element中el-container容器与div布局区分详解
2020/05/13 Javascript
PHP 502bad gateway原因及解决方案
2020/11/13 Javascript
python实现DNS正向查询、反向查询的例子
2014/04/25 Python
Python判断直线和矩形是否相交的方法
2015/07/14 Python
在Django的上下文中设置变量的方法
2015/07/20 Python
基于python的Tkinter编写登陆注册界面
2017/06/30 Python
浅谈python中字典append 到list 后值的改变问题
2018/05/04 Python
python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例
2020/02/26 Python
使用CSS3制作倾斜导航条和毛玻璃效果
2017/09/12 HTML / CSS
西班牙伏林航空公司:Vueling
2016/08/05 全球购物
Monnier Freres中文官网:法国领先的奢侈品配饰在线零售商
2017/11/01 全球购物
Arti-shopping中文官网:大型海外商品一站式直邮平台
2020/03/23 全球购物
俄罗斯药房连锁店:ASNA
2020/06/20 全球购物
党员转正意见怎么写
2015/06/03 职场文书