我想在页面上使用 HTML 绘制一条线。
从我所读的所有内容来看,HTML5 画布标记是最好的选择,但我需要将线连接到页面中不在画布标记内的某个东西,因此画布对我来说不太合适(需要使用本机 JS)。
我编写了一个函数(从其他地方找到),可以实现我所需的功能,但问题是一旦出现线条,页面的其他部分就会消失。
我发现每次在 JavaScript 中更改样式时,除形状外的其他部分都会消失。
删除 "document.write" 后什么也没有消失。
function draw(ax, ay, bx, by) {
var n, widthLine, i, x, y;
widthLine = 1;
if (Math.abs(ax - bx) > Math.abs(ay - by)) {
if (ax > bx) {
n = ax;
ax = bx;
bx = n;
n = ay;
ay = by;
by = n;
}
n = (by - ay) / (bx - ax);
for (i = ax; i <= bx; i++) {
x = i;
y = Math.round(ay + m * (x - ax));
document.write("<div style='height:" + lineWidth + "px;width:" + widthLine + "px;background-color:black;position:absolute;top:" + y + "px;left:" + x + "px;'></div>");
}
} else {
if (ay > by) {
n = ax;
ax = bx;
bx = n;
n = ay;
ay = by;
by = n;
}
n = (bx - ax) / (by - ay);
for (i = ay; i <= by; i++) {
y = i;
x = Math.round(ax + n * (y - ay));
document.write("<div style='height:" + lineWidth + "px;width:" + lineWidth + "px;background-color:black;position:absolute;top:" + y + "px;left:" + x + "px;'></div>");
}
}
}