如何在 HTML canvas 中使文本淡出
How to make text fadeout in HTML canvas
我正在尝试开发在线网络应用程序 Patatap 的克隆,我想在用户加载页面时向用户显示 5 秒的说明,然后让页面淡出。
这是我目前拥有的:
HTML:
<body>
<canvas id="myCanvas" resize></canvas>
<script>
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
context.fillStyle = "white";
context.font = "regular 40px Questrial";
context.textAlign = "center";
context.fillText("Press 'a-z' keys to play a tune!", canvas.width/2, canvas.height/2);
var fade_out = function() {
$("#context").fadeOut().empty();
}
setTimeout(fade_out, 5000);
</script>
</body>
CSS:
canvas {
width: 100%;
height: 100%;
background-color: black;
}
body, html {
height: 100%;
margin: 0;
}
我不明白为什么我的文字不显示和淡出,我是 Javascript 的新手,所以任何 help/suggestions 将不胜感激。
非常感谢!
$("#context").fadeOut() 正在寻找 ID 为 'context' 的元素。没有这样的元素。您的 canvas 的 ID 为 'myCanvas'。所以试试 $("#myCanvas").fadeOut()。此外,至少在测试中,背景是白色的,因此不会显示白色的绘图文本。以下是有效的,将 fillStyle 更改为红色:
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<canvas id="myCanvas" resize></canvas>
<script>
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
context.fillStyle = "red";
context.font = "regular 40px Questrial";
context.textAlign = "center";
context.fillText("Press 'a-z' keys to play a tune!", canvas.width/2, canvas.height/2);
var fade_out = function() {
$("#myCanvas").fadeOut();
}
setTimeout(fade_out, 5000);
</script>
</body>
我正在尝试开发在线网络应用程序 Patatap 的克隆,我想在用户加载页面时向用户显示 5 秒的说明,然后让页面淡出。
这是我目前拥有的:
HTML:
<body>
<canvas id="myCanvas" resize></canvas>
<script>
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
context.fillStyle = "white";
context.font = "regular 40px Questrial";
context.textAlign = "center";
context.fillText("Press 'a-z' keys to play a tune!", canvas.width/2, canvas.height/2);
var fade_out = function() {
$("#context").fadeOut().empty();
}
setTimeout(fade_out, 5000);
</script>
</body>
CSS:
canvas {
width: 100%;
height: 100%;
background-color: black;
}
body, html {
height: 100%;
margin: 0;
}
我不明白为什么我的文字不显示和淡出,我是 Javascript 的新手,所以任何 help/suggestions 将不胜感激。
非常感谢!
$("#context").fadeOut() 正在寻找 ID 为 'context' 的元素。没有这样的元素。您的 canvas 的 ID 为 'myCanvas'。所以试试 $("#myCanvas").fadeOut()。此外,至少在测试中,背景是白色的,因此不会显示白色的绘图文本。以下是有效的,将 fillStyle 更改为红色:
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<canvas id="myCanvas" resize></canvas>
<script>
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
context.fillStyle = "red";
context.font = "regular 40px Questrial";
context.textAlign = "center";
context.fillText("Press 'a-z' keys to play a tune!", canvas.width/2, canvas.height/2);
var fade_out = function() {
$("#myCanvas").fadeOut();
}
setTimeout(fade_out, 5000);
</script>
</body>