• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > 用HTML5制作数字时钟的教程_html5教程技巧

用HTML5制作数字时钟的教程_html5教程技巧

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含HTML5等相关知识,匿名希望在学习及工作中可以帮助到您
2015511172231746.png (836×306)

就是这个数字时钟,当时觉得这个创意不错,但是也没去折腾。直到昨天同事又在网上看到这个案例,他觉得很酷炫,就跑过来问我,这个是怎么实现的,然后我大概想了一下实现方法后也来了点兴趣,就花了一点时间模仿做出来了一个。不同的是,岑安用的是div来做的。而我就是用canvas来实现的。用canvas来做性能方面会更好,因为就单单操控每个点的运动,用js控制dom的style属性跟用js控制canvas绘图相比性能方面肯定是有所欠缺的。

  先上个我做的DEMO吧,然后再简述一下做这个的方法: 看DEMO请戳我 。

  做这个思路很简单,就是通过字符串保存各个数字的位置: 
复制代码

  1. var numData = [
  2. "1111/1001/1001/1001/1001/1001/1111", //0
  3. "0001/0001/0001/0001/0001/0001/0001", //1
  4. "1111/0001/0001/1111/1000/1000/1111", //2
  5. "1111/0001/0001/1111/0001/0001/1111", //3
  6. "1010/1010/1010/1111/0010/0010/0010", //4
  7. "1111/1000/1000/1111/0001/0001/1111", //5
  8. "1111/1000/1000/1111/1001/1001/1111", //6
  9. "1111/0001/0001/0001/0001/0001/0001", //7
  10. "1111/1001/1001/1111/1001/1001/1111", //8
  11. "1111/1001/1001/1111/0001/0001/1111", //9
  12. "0000/0000/0010/0000/0010/0000/0000", //:
  13. ]

  0代表没像素,1代表有像素,/是为了更好看些,就是分行嘛,简单说起来:比如0就是:

  

  1. 1 1 1 1
  2.   1 0 0 1
  3.   1 0 0 1
  4.   1 0 0 1
  5.   1 0 0 1
  6.   1 0 0 1
  7.   1 1 1 1  

这样就很清楚了吧。从0到9还有一个:号都用字符串表示好。

  然后就写个粒子对象,也就是像素点:

  1. var P_radius = 8,Gravity = 9.8;
  2. var Particle = function(){
  3. this.x = 0;
  4. this.y = 0;
  5. this.vx = 0;
  6. this.vy = 0;
  7. this.color = "";
  8. this.visible = false;
  9. this.drop = false;
  10. }
  11. Particle.prototype = {
  12. constructors:Particle,
  13. paint:function(){ //绘制自身
  14. ctx.fillStyle = this.color;
  15. ctx.beginPath();
  16. ctx.arc(this.x,this.y,P_radius,0,2*Math.PI);
  17. ctx.fill();
  18. },
  19. reset:function(x,y,color){ //重置
  20. this.x = x;
  21. this.y = y;
  22. this.vx = 0;
  23. this.vy = 0;
  24. this.color = color;
  25. this.visible = true;
  26. this.drop = false;
  27. },
  28. isDrop:function(){ //落下
  29. this.drop = true;
  30. var vx = Math.random()*20+15
  31. this.vx = Math.random()>=0.5?-vx : vx;
  32. },
  33. update:function(time){ //每一帧的动作
  34. if(this.drop){
  35. this.x += this.vx*time;
  36. this.y += this.vy*time;
  37. var vy = this.vy+Gravity*time;
  38. if(this.y>=canvas.height-P_radius){
  39. this.y = canvas.height-P_radius
  40. vy = -vy*0.7;
  41. }
  42. this.vy = vy;

您可能想查找下面的文章:

相关文章

  • 2018-12-03关于Canvas与Image的互相转换
  • 2018-12-03前端HTML5几种存储方式的总结
  • 2018-12-0322个HTML5 技巧三
  • 2018-12-03避免常见的六种HTML5错误用法 (1)
  • 2018-12-03html5的web存储
  • 2018-12-03本次北京中关村召开的WebRTC大会的主办方声网Agora公司是什么来头?
  • 2017-08-06HTML5中的Article和Section元素认识及使用
  • 2018-12-03HTML5开发手机应用-详细介绍viewport的作用(图文)
  • 2018-12-03基于HTML5新特性Mutation Observer实现编辑器的撤销和回退操作_html5教程技巧
  • 2018-12-03html5拖曳操作 HTML5实现网页元素的拖放操作_html5教程技巧

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 基于html5绘制圆形多角图案_html5教程技巧
    • html5记忆翻牌游戏实现思路及代码
    • HTML5新增协议:WebSocket协议的实例
    • H5的多线程(Worker SharedWorker)使用详解
    • HTML5手机端弹出遮罩菜单特效代码_html5教程技巧
    • 一张图片能隐含千言万语之隐藏你的程序代码_html5教程技巧
    • 我刚开始学习html5,能否推荐一个上手容易、功能丰富的编辑器?
    • SVG(可缩放矢量图形)虚线相关属性与线条动画原理:一条会动的线
    • 目前的 HTML5 开发跟一年前比进展如何,国内国外有没有区别?
    • Html5实现如何在两个div元素之间拖放图像

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有