代码拉取完成,页面将自动刷新
检测是否支持canvas
if (document.createElement('canvas').getContext) {
console.log('support')
}
requestAnimationFrame在各个游览器版本中的实现
if (!window.requestAnimationFrame) {
window.requestAnimationFrame = (
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(callback) {
return window.setTimeout(
callback,
1000 / 60 //每秒60帧
)
}
)
}
捕获keydown
textarea.focus()
textarea.addEventListener('keydown', function(event) {
console.log(event.type)
}, false)
正弦 sin : 该角相对的直角边与斜边的比例
余弦 cos : 改角的邻边与斜边的比例
正切 tan : 改角的对边与邻边的比例
反正弦 asin : 正弦的逆运算
反余弦 acos : 余弦的逆运算
反正切 atan : 正切的逆运算
角度和弧度的换算
radian = angle * Math.PI / 180
angle = radian * 180 / Math.PI
通过反三角函数求对应的角度或者弧度
Math.asin(0.5) * 180 / Math.PI //30
Math.sin(30 * Math.PI / 180) //4.999
朝鼠标任意一点旋转
dx = mouse.x - obj.x
dy = mouse.y - obj.y
obj.rotation = Math.atan2(dy, dx) //此处是弧度值
创建波
function drawFrame() {
window.requestAnimationFrame(drawFrame, canvas)
value = cneter + Math.sin(angle) * range
angle += speed
}
创建圆形
positionX = centerX + Math.cos(angle) * radius
positionY = centerY + Math.sin(angle) * radius
angle += speed
创建椭圆形
positionX = centerX + Math.cos(angle) * radiusX
positionY = centerY + Math.sin(angle) * radiusY
angle += speed
计算两点间距离
dx = x2 - x1
dy = y2 - y1
dist = Math.sqrt(dx * dx + dy * dy)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。