我如何使用 html/css/js/ 在 2 个画布之间切换可见性?

See*_*arp 3 html javascript canvas

亲爱的stackoverflowers

我有 2 个画布:

  1. 显示演示文稿的画布,
  2. 和第二个隐藏画布来创建演示文稿。

我需要通过单击一个按钮来切换哪个画布可见

</div>
        <canvas id="myCanvas" width="800" height="600" style="border:1px solid #000000;" hidden="outputcanvas">
        </canvas>    
</div>

<!----------------------------------------------------------------------------------------------------------------------------------------------------->
<!-- input canvas -->
    <div>
        <canvas width="800" height="600" hidden="inputcanvas" ></canvas>
    </div>
Run Code Online (Sandbox Code Playgroud)

是否可以 ?如果是这样,如何?

此时我试图用JS解决它^^

提前致谢

mar*_*rkE 6

这是使用按钮切换 2 个画布的可见性以便只有 1 个画布可见的一种方法:

  • 使用 CSS 使用定位将 2 个画布堆叠在包装器 div 内。

  • style.visibility响应您的按钮单击,切换2 个画布的 。

下面是一个例子:

var canvas1=document.getElementById('canvas1');
canvas1.getContext('2d').fillText('This is canvas1',20,20);
var canvas2=document.getElementById('canvas2');
canvas2.getContext('2d').fillText('This is canvas2',20,20);

swapCanvases();

document.getElementById("test").onclick=function(){
  swapCanvases();
};

function swapCanvases(){
  if(canvas1.style.visibility=='visible'){
    canvas1.style.visibility='hidden';
    canvas2.style.visibility='visible';
  }else{
    canvas1.style.visibility='visible';
    canvas2.style.visibility='hidden';
  }
}
Run Code Online (Sandbox Code Playgroud)
body{ background-color: ivory;}
#wrapper{position:relative;}
#canvas1{position:absolute; border:1px solid red;}
#canvas2{position:absolute; border:1px solid blue;}
Run Code Online (Sandbox Code Playgroud)
<button id="test">Swap Canvas Visibilities</button>
<div id=wrapper>
  <canvas id="canvas1" width=300 height=300></canvas>
  <canvas id="canvas2" width=300 height=300></canvas>
</div>
Run Code Online (Sandbox Code Playgroud)