Hi, kann mir jemand sagen, wo mein Fehler in der If Abfrage in der Funktion "canvas_aus()" ist? Es wird immer der erste Teil der If Else Anweisung ausgefeführt, obwohl ich per "Allert" sehe, dass er in die Else Anweisung springen müsste.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<script type="application/javascript">
function draw() {
var anaus;
var canvas = document.getElementById("canvas");
var button1 = document.getElementById("button1");
var canvas2 = document.getElementById("canvas2");
var button2 = document.getElementById("button2");
if(canvas.getContext){
var ctx = canvas.getContext("2d");
ctx.fillStyle = "rgb(200,0,0)";
ctx.fillRect(10, 10, 55, 50);
ctx.fillStyle = "rgba(0, 0, 200, 0.5)";
ctx.fillRect(30, 30, 55, 50);
}
if(canvas2.getContext){
var ctx2 = canvas2.getContext("2d");
ctx2.fillStyle = "rgb(200,0,0)";
ctx2.fillRect(10, 10, 55, 50);
ctx2.fillStyle = "rgba(0, 0, 200, 0.5)";
ctx2.fillRect(30, 30, 55, 50);
}
}
function canvas_aus() {
anaus = canvas.style.visibility;
alert("vor if else wert ist = "+anaus);
if(anaus = 'visible'){
alert("in if wenn wert von anaus visible ist");
canvas.style.visibility='hidden';
document.getElementById("button1").childNodes[0].nodeValue="Canvas 1 einschalten";
} else
{
alert("in if wenn wert von anaus hidden ist");
canvas.style.visibility='visible';
document.getElementById("button1").childNodes[0].nodeValue="Canvas 1 ausschalten";
}
}
function canvas2_aus() {
canvas2.style.visibility='hidden';
document.getElementById("button2").childNodes[0].nodeValue="Canvas 2 einschalten";
}
</script>
</head>
<body onload="draw();">
<button id ="button1" onclick="canvas_aus()">Canvas 1 ausschalten</button>
<button id ="button2" onclick="canvas2_aus()">Canvas 2 ausschalten</button>
<canvas id="canvas" width="300" height="300" style="visibility:visible;"></canvas>
<canvas id="canvas2" width="300" height="300" style="visibility:visible;"></canvas>
</body>
</html>