javascript - 使用变量画线(画布)
问题描述
我正在尝试使用搜索栏的输入(长度(在代码中))来绘制一条“长度”长度的线。
我已经设置了一个非常粗糙的画布区域,搜索/变量输入,但似乎无法将它们链接在一起。目前,我在 lineTo 方向上有变量并且它确实绘图,但即使变量更新也只会保持静态。
function myFunction() {
var length = document.getElementById("myText").value;
}
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
ctx.moveTo(100,25);
ctx.lineTo(length,25);
ctx.stroke();
<canvas id="myCanvas" width="500" height="50"
style="border:1px solid #d3d3d3;">
</canvas>
<input class="search" type="number" id="myText" value="Size...">
<button class="button" onclick="myFunction()">Size</button>
<p id="demo"></p>
解决方案
画布交互命令运行一次。要每次重绘,请将代码放在myFunction
:
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
function myFunction() {
var length = document.getElementById("myText").value;
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.beginPath();
ctx.moveTo(100, 25);
ctx.lineTo(length, 25);
ctx.stroke();
ctx.closePath();
}
myFunction();
<canvas id="myCanvas" width="500" height="50" style="border:1px solid #d3d3d3;">
</canvas>
<input class="search" type="number" id="myText" value="Size...">
<button class="button" onclick="myFunction()">Size</button>
<p id="demo"></p>
推荐阅读
- sql - 确定两个日期之间的天数并在 SQL Server 中显示为数字
- r - 函数中的意外符号(R 语言)
- javascript - 在 server.js 中编写一个函数并从客户端调用它(React)
- php - Codeigniter - 根据选中的复选框更新数据库记录
- dart - Dart 和 ZeroMQ 服务器
- symfony - 从 AWS / RDS Maria DB 10.0 迁移 Symfony 3.3.12 失败:DBALException
- javascript - 无法“npm install @tensorflow/tfjs-node”
- c++ - 使特定于 Unix 的 CMake 过程跨平台
- php - PHP Regex - 视频文件直接链接和 YouTube 链接
- java - 任务图实现