Javascript 添加额外矩形时自动增加画布高度

Javascript 添加额外矩形时自动增加画布高度,javascript,html,canvas,Javascript,Html,Canvas,添加矩形时,画布高度不会随之缩放。更改画布高度不是一个选项。我花了好几个星期寻找如何使这成为可能。我的问题是,当添加多个矩形时,画布高度会自动增加,例如bij 100像素,这样它会显示完整的矩形,而不是像现在这样的一块矩形 这就是现在的情况 如果要在不拉伸图形的情况下调整画布的大小,需要使用draw()方法。此绘制方法将所有对象添加到画布。因此,您必须将对象保存在某个位置。您需要这样做,因为调整画布的大小会清除它。绘制方法需要知道当前对象,并在每次调整画布大小时绘制它们 您可以添加一些JQuer

添加矩形时,画布高度不会随之缩放。更改画布高度不是一个选项。我花了好几个星期寻找如何使这成为可能。我的问题是,当添加多个矩形时,画布高度会自动增加,例如bij 100像素,这样它会显示完整的矩形,而不是像现在这样的一块矩形

这就是现在的情况


如果要在不拉伸图形的情况下调整画布的大小,需要使用draw()方法。此绘制方法将所有对象添加到画布。因此,您必须将对象保存在某个位置。您需要这样做,因为调整画布的大小会清除它。绘制方法需要知道当前对象,并在每次调整画布大小时绘制它们

您可以添加一些JQuery代码:

每次添加矩形时:

$('#NodeList').height("+=100");
draw();
$('#NodeList').height("-=100");
draw();
删除矩形时:

$('#NodeList').height("+=100");
draw();
$('#NodeList').height("-=100");
draw();

在您的示例中,现在应该是for循环。但是整个循环。

你所说的“改变画布高度不是一个选项”是什么意思。这不是你想要的吗?你添加了一个工作的JSFIDLE?我不想手动调整它,比如用户何时以及如何添加和删除矩形?他不能,我将添加矩形并按代码删除它们。@脚本,如果你可以删除它们,请更改画布的高度并重新绘制元素,当你删除它们时。这会重置画布的内容。现在的问题是它会放大,矩形也会放大。