javascript - 功能的画布部分不会运行?
问题描述
changeCanvasBackground = function() {
document.getElementById("ji").innerHTML = "Paragraph changed!";
var canvas = document.getElementById('myCanvas');
document.getElementById("ji").innerHTML = "Paragraph changed two!";
var ctx = canvas.getContext('2D');
ctx.fillStyle("Red");
}
document.addEventListener('DOMContentLoaded', changeCanvasBackground);
<p id="ji">Hello</p>
<div id="gameArea">
<canvas id="myCanvas" width="800" height="480"></canvas>
</div>
'changeCanvasBackground' 函数确实运行,但画布部分没有运行,'document.getElementById("ji")' 用于显示这一点。如果有人可以帮助我。
解决方案
getContext
采用小写字符2d
- 您需要在 fillStyle 之后调用fillRect
fillStyle
是属性而不是方法
所以这三行应该是这样的:
var ctx = canvas.getContext('2d');
ctx.fillStyle = "Red";
ctx.fillRect(0, 0, canvas.width, canvas.height);
最终结果将是这样的:
changeCanvasBackground = function() {
document.getElementById("ji").innerHTML = "Paragraph changed!";
var canvas = document.getElementById('myCanvas');
document.getElementById("ji").innerHTML = "Paragraph changed two!";
var ctx = canvas.getContext('2d');
ctx.fillStyle = "Red";
ctx.fillRect(0, 0, canvas.width, canvas.height);
}
document.addEventListener('DOMContentLoaded', changeCanvasBackground);
<p id="ji">Hello</p>
<div id="gameArea">
<canvas id="myCanvas" width="800" height="480"></canvas>
</div>
推荐阅读
- c# - 更改文本块文本仅适用于第一条记录
- javascript - 显示/隐藏选项 显示选项并一键删除先前的选择
- mysql - 为什么我的查询结果在页面中这么慢,而查询本身却很快
- php - 使用 php 来自 API 的 curl 请求
- c++ - 如何检查 void* 指针下的运行时类型(允许简单类型,无基类)?
- mysql - 如何获取 MySQL 数据库的创建日期?
- python - 如何找到一个字符串与多个字符串列表的匹配项
- database - 无法连接到 postgresql 中的数据库
- git - 当使用 Git Flow 管理发布与开发时,如何追溯应用修补程序?
- c# - 如何在数据库中插入 json 字符串