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实现照片墙效果
Dec 26 HTML / CSS
CSS3中几个新增加的盒模型属性使用教程
Mar 01 HTML / CSS
css3media响应式布局实例
Jul 08 HTML / CSS
CSS3打造百度贴吧的3D翻牌效果示例
Jan 04 HTML / CSS
CSS3中的display:grid,网格布局介绍
Oct 30 HTML / CSS
详解CSS3媒体查询响应式布局bootstrap 框架原理实战(推荐)
Nov 16 HTML / CSS
基于HTML5 Canvas 实现弹出框效果
Jun 05 HTML / CSS
教你如何一步一步用Canvas写一个贪吃蛇
Oct 22 HTML / CSS
HTML5的革新 结构之美
Jun 20 HTML / CSS
5 个强大的HTML5 API 函数推荐
Nov 19 HTML / CSS
html实现弹窗的实例
Jun 09 HTML / CSS
开发微信小程序之WXSS样式教程
Apr 18 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
main.php
2006/12/09 PHP
PHP syntax error, unexpected $end 错误的一种原因及解决
2008/10/25 PHP
php 需要掌握的东西 不做浮躁的人
2009/12/28 PHP
php设计模式 Prototype (原型模式)代码
2011/06/26 PHP
smarty缓存用法分析
2014/12/16 PHP
PHP如何实现订单的延时处理详解
2017/12/30 PHP
php封装的pdo数据库操作工具类与用法示例
2019/05/08 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
jQuery调用WebService的实现代码
2011/06/19 Javascript
jQuery中live方法的重复绑定说明
2011/10/21 Javascript
通过隐藏iframe实现文件下载的js方法介绍
2014/02/26 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
2015/02/05 Javascript
ECMAScript 5中的属性描述符详解
2015/03/02 Javascript
jQuery实现简单的文件上传进度条效果
2020/03/26 Javascript
Javascript类型转换的规则实例解析
2016/02/23 Javascript
基于javascript实现简单的抽奖系统
2020/04/15 Javascript
一些实用性较高的js方法
2016/04/19 Javascript
前端面试题及答案整理(二)
2016/08/26 Javascript
各式各样的导航条效果css3结合jquery代码实现
2016/09/17 Javascript
利用node.js制作命令行工具方法教程(一)
2017/06/22 Javascript
Gulp实现静态网页模块化的方法详解
2018/01/09 Javascript
小程序实现悬浮搜索框
2019/07/12 Javascript
[01:57]2018DOTA2亚洲邀请赛赛前采访-iG
2018/04/03 DOTA
python sqlobject(mysql)中文乱码解决方法
2008/11/14 Python
pandas 转换成行列表进行读取与Nan处理的方法
2018/10/30 Python
详解Python的三种可变参数
2019/05/08 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
2019/06/18 Python
python Django 创建应用过程图示详解
2019/07/29 Python
教师职称自我鉴定
2014/02/12 职场文书
交通事故协议书范文
2014/04/16 职场文书
励志演讲稿800字
2014/08/21 职场文书
2015年毕业实习工作总结
2014/12/12 职场文书
2016春节家属慰问信
2015/03/25 职场文书
酒店员工手册范本
2015/05/14 职场文书
sql查询结果列拼接成逗号分隔的字符串方法
2021/05/25 SQL Server
OpenFeign实现远程调用
2022/08/14 Java/Android