《JS原理、方法与实践》- canvas动画
动画是由多幅连续的图片组成 按顺序切换不同的图片给人一种动画的感觉 切换的速度越快动画的感觉越真实 当速度达到1秒24幅图片的时候 人的肉眼就无法分辨了 这就是所说的24帧。canvas中的动画其实就是循环执行擦除和绘制的操作 并且一般会在操作之前保存环境 操作之后恢复环境。
使用canvas制作动画由两个关键点 循环执行 绘制每次显示的图片。循环执行主要有两种方式 一种是使用前面所学过的setInterval或者setTimeout方法 另一种是调用新增加的专门用于动画的requestAnimationFrame方法 这个方法不需要设置间隔时间 直接将处理逻辑写入参数的回调函数中就可以了。但是requeseAnimationFram自身需要被放到回调函数中 另外 它的启动操作可以用cancelAnimationFrame方法来取消。
示例
html
!DOCTYPE html
html lang en
head
meta charset UTF-8
meta name viewport content width device-width, initial-scale 1.0
title Document /title
/head
body
canvas id c2d 浏览器不支持canvas /canvas
script
const canvas document.getElementById( c2d
if (canvas.getContext) {
let ctx canvas.getContext( 2d
function draw(){
var date new Date();
h date.getHours();
m date.getMinutes();
s date.getSeconds();
dot s % 2 ? : :
var dateStr h dot m dot
ctx.save();
ctx.clearRect(0,0,300,300);
ctx.fillStyle red
ctx.font 37px Times New Roman
ctx.fillText(dateStr, 30,50);
ctx.restore();
window.requestAnimationFrame(draw);
}
draw();
}
/script
/body
/html
![](https://upload-images.jianshu.io/upload_images/2789632-56cb94d8f8fc0a86.gif?imageMogr2/auto-orient/strip)
酷炫一款动态背景+鼠标点击效果(HTML +js canvas) 之前用于装饰个人的Hexo博客背景和点击事件,于是动手弄弄顺便学习学习,现在分享出来给有需要的人。 废话不多说 ,分享一款酷炫的页面动态背景 效果见( https://fivecc.cn )
相关文章
- [转] node升级到8.0.0在vscode启动js执行文件报错
- 用CSS画*猪佩奇,你就是下一个社会人! js将“I am a coder”反转成 “coder a am I”,不许用split,join,subString,reverse;求解方法三
- js的模块化
- asp.net后台cs中的JSON格式变量在前台Js中调用方法!(前后台实例!)
- js对象中删除其中一项
- 解密和解压浏览器上加密的js文件
- js高手
- JS获取当前时间戳的方法
- JS——判断变量类型方法汇总
- String js删除字符串的最后一个字符三种方法
- Idea-每次修改JS文件都需要重启Idea才能生效解决方法
- base.js,通用js方法,Js方法封装
- You-Dont-Know-JS
- Dynamic CRM 2013学习笔记(二十三)CRM JS智能提示(CRM 相关的方法、属性以及页面字段),及发布前调试
- JS高程中的垃圾回收机制与常见内存泄露的解决方法
- pdf.js使用方法,精简版
- js判断是否包含某个class
- node.js连接数据库后执行sql语句怎么样实现呢?
- js数组的at方法
- [js高手之路]html5 canvas动画教程 - 边界判断与小球粒子模拟喷泉,散弹效果
- JS-安全检测JavaScript基本数据类型和内置对象的方法
- 【ArkUI】【HarmonyOS】鸿蒙ets项目如何npm方式引入第三方js类库
- nginx 指定多个域名跨域请求配置 find ./ ! -path "./node_modules/*" -name *.js |xargs egrep basePath
- js面向对象初步探究(上) js面向对象的5种写方法
- Node.js 基础之 npm 常用命令集合的简单整理
- weex开发 - 方法的映射,在weex调用fetch方法,实际调用同名的原生方法,在回调中把数据传递回js
- JS ES6中export和import详解
- js获取DIV的位置坐标的三种方法
- Three.js Example 注解 —— canvas_camera_orthographic2.html