JavaScript: Canvas-Bezug auf ein Button?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Du wirst eine Funktion (oder eine Abfolge von Befehlen, welche in eine Funktion verschoben werden sollten) haben, mit der auf dem Canvas gezeichnet wird. Den Funktionsaufruf fügst du deinem Event Listener zu, indem du bereits deine Tabelle zeichnen lässt.

selection.addEventListener("click", function(evt) {
  switch (selection.value) {
    case "Bmw":
      drawTable();
      drawOnCanvas();
      break;
    // further cases ...
  }
}

Da du sicherlich verschiedene Funktionen hast, in denen auf dem Canvas gezeichnet wird, macht es Sinn, die Variable für Canvas-Element und Context global zu definieren.

Beispiel:

var canvas = document.getElementById("someCanvas");
var context = canvas.getContext("2d");

function drawBmw() {
  context.fillStyle = "#ff0000";
  context.fillRect(0, 0, 150, 75);
  // ...
}
  
function drawBenz() {
  // ...
}

Außerdem solltest du beachten, dass es möglicherweise sinnvoll ist, vor jedem Zeichenvorgang nochmal die Zeichenfläche zu leeren.

Ja natürlich kann man das.


cool27 
Fragesteller
 21.07.2019, 20:03

Und wie gehe ich logisch am besten vor?

0
hairybear  21.07.2019, 20:07
@cool27

Z.B. mit

<select onchange="myFunction()">

Und dann in einer Bedingung abfragen, ob beide die richtige Option gewählt haben- Das wäre wohl die einfachste Möglichkeit. (Programmiere nicht oft in js)

0