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>");
}
}
}