So implementieren Sie ein HTML-Geschäftsprozessdiagramm mit reinem Javascript

PHPz
Freigeben: 2023-04-25 16:54:34
Original
822 Leute haben es durchsucht

Im Bereich der Webentwicklung ist das Geschäftsprozessdiagramm ein grafisches Werkzeug, das es Menschen ermöglicht, den gesamten Geschäftsprozess klarer zu verstehen. Herkömmliche Geschäftsprozessdiagramme werden normalerweise mithilfe von Tool-Software erstellt. Die Implementierung von Geschäftsprozessdiagrammen über JavaScript bietet jedoch große Vorteile hinsichtlich Wartbarkeit und Benutzerfreundlichkeit. In diesem Artikel erfahren Sie, wie Sie mit reinem Javascript ein HTML-Geschäftsflussdiagramm implementieren.

  1. Vorbereitung

Zuerst müssen Sie eine leere HTML-Datei und eine CSS-Datei als Text und Stylesheet vorbereiten. In diesem Artikel wird das Bootstrap-Framework verwendet. Wenn Sie es nicht verwenden möchten, können Sie andere CSS-Frameworks verwenden oder CSS-Stile direkt handschreiben.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>纯javascript实现html业务流程图</title>
    <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.5.0/css/bootstrap.min.css">
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div id="workflow"></div>
    <script src="script.js"></script>
</body>
</html>
Nach dem Login kopieren
  1. Javascript-Code schreiben

Die am häufigsten verwendeten Grafiken in Geschäftsprozessdiagrammen sind Rechtecke und Pfeile. Wir müssen zunächst ein JavaScript-Objekt mit Rechteck und Pfeil erstellen. Im Rechteckobjekt müssen wir die Koordinaten, die Breite, die Höhe, die Farbe und den Text des Rechtecks ​​speichern.

function Rectangle(x, y, width, height, color, text) {
    this.x = x;
    this.y = y;
    this.width = width;
    this.height = height;
    this.color = color;
    this.text = text;
    this.draw = function() {
        ctx.fillStyle = this.color;
        ctx.fillRect(this.x, this.y, this.width, this.height);
        ctx.fillStyle = "#ffffff";
        ctx.font = "14px Arial";
        ctx.fillText(this.text, this.x + 10, this.y + 20);
    }
}
Nach dem Login kopieren

Im Pfeilobjekt müssen wir den Startpunkt, den Endpunkt, die Linienfarbe und die Pfeilform des Pfeils speichern.

function Arrow(fromX, fromY, toX, toY, color) {
    this.fromX = fromX;
    this.fromY = fromY;
    this.toX = toX;
    this.toY = toY;
    this.color = color;
    this.draw = function() {
        var headlen = 10;
        var angle = Math.atan2(this.toY - this.fromY, this.toX - this.fromX);
        ctx.beginPath();
        ctx.moveTo(this.fromX, this.fromY);
        ctx.lineTo(this.toX, this.toY);
        ctx.strokeStyle = this.color;
        ctx.lineWidth = 2;
        ctx.stroke();

        ctx.beginPath();
        ctx.moveTo(this.toX, this.toY);
        ctx.lineTo(this.toX - headlen * Math.cos(angle - Math.PI / 6), this.toY - headlen * Math.sin(angle - Math.PI / 6));
        ctx.lineTo(this.toX - headlen * Math.cos(angle + Math.PI / 6), this.toY - headlen * Math.sin(angle + Math.PI / 6));
        ctx.fillStyle = this.color;
        ctx.fill();
    }
}
Nach dem Login kopieren

Als nächstes müssen wir die Funktion schreiben, die das Geschäftsprozessdiagramm generiert. In dieser Funktion müssen wir zunächst ein neues Canvas-Element erstellen und es in die HTML-Seite einfügen. Als nächstes müssen wir Rechtecke und Pfeile generieren und sie in einem Array speichern, um das Flussdiagramm anschließend neu zu zeichnen.

function generateWorkflow() {
    var canvas = document.createElement('canvas');
    canvas.id = "workflow-canvas";
    canvas.width = 800;
    canvas.height = 600;
    document.getElementById('workflow').appendChild(canvas);

    var rect1 = new Rectangle(80, 50, 120, 50, "#007bff", "发起申请");
    var rect2 = new Rectangle(400, 50, 120, 50, "#ffc107", "待审核");
    var rect3 = new Rectangle(80, 200, 120, 50, "#28a745", "审核通过");
    var rect4 = new Rectangle(400, 200, 120, 50, "#dc3545", "审核拒绝");

    var arrow1 = new Arrow(200, 75, 400, 75, "#007bff");
    var arrow2 = new Arrow(520, 75, 680, 75, "#ffc107");
    var arrow3 = new Arrow(200, 225, 400, 225, "#28a745");
    var arrow4 = new Arrow(520, 225, 680, 225, "#dc3545");

    var rects = [rect1, rect2, rect3, rect4];
    var arrows = [arrow1, arrow2, arrow3, arrow4];

    for (var i = 0; i < rects.length; i++) {
        rects[i].draw(canvas.getContext('2d'));
    }

    for (var i = 0; i < arrows.length; i++) {
        arrows[i].draw(canvas.getContext('2d'));
    }
}
Nach dem Login kopieren
  1. Laufende Ergebnisse

Nach Abschluss der obigen Schritte müssen wir nur noch die Funktion aufrufen, die das Geschäftsflussdiagramm in der Initialisierungsfunktion generiert, um das Geschäftsflussdiagramm auf der HTML-Webseite anzuzeigen.

window.onload = function() {
    generateWorkflow();
}
Nach dem Login kopieren

Wenn wir diesen Javascript-Code ausführen, können wir das vollständige Geschäftsflussdiagramm auf der Webseite sehen. Durch einfachen Javascript-Code haben wir ein Flussdiagramm implementiert, um die Webseite anschaulicher und leichter verständlich zu machen.

Zusammenfassung

In diesem Artikel wird erläutert, wie Sie mit reinem Javascript ein HTML-Geschäftsflussdiagramm implementieren. Wir haben das Canvas-Element zum Zeichnen von Rechtecken und Pfeilen verwendet und das Geschäftsprozessdiagramm mithilfe von Javascript-Code generiert. Im Vergleich zu herkömmlichen Zeichenwerkzeugen ist diese Methode wartbarer und bequemer. Mithilfe von JavaScript und anderen Frontend-Technologien können wir verschiedene praktische Funktionen in der Webentwicklung effizienter ausführen.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie ein HTML-Geschäftsprozessdiagramm mit reinem Javascript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!