html - 在隐藏的 html5 canvas 元素中绘制不起作用

标签 html canvas html5-canvas

我试图在 Canvas 上绘制,而它的父级是 display:none。 有没有办法做到这一点?

这是一个 jsFiddle 来演示我的问题: http://jsfiddle.net/kannix/jSj83/

如果您只是点击绘制,一切都会按预期进行。如果您单击“显示/隐藏”并在隐藏时单击“绘制”按钮,单击“显示/隐藏”将显示 Canvas ,但它仍然是空的。

最佳答案

您可以使用 css visibility 属性来隐藏 div 而不是使用 display

例子:

$('#hideBtn').click(function () {
    var hider = $('#hider');
    if(hider.css('visibility') == 'visible') {
        hider.css('visibility', 'hidden');
    }
    else {
        hider.css('visibility', 'visible');
    }
});

还有这一行:

ctx.clearRect(0, 0, 100, 100);

似乎是在清除绘图。

关于html - 在隐藏的 html5 canvas 元素中绘制不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20200627/

相关文章:

javascript - 如何使用fabric js一一选择 Canvas 上的所有对象?

html - 如何将图像始终保持在页面的 Angular 落,但向下滚动时不再可见?

安卓游戏 Canvas

javascript - 我们可以在html5中为canvas中的形状分配类吗

javascript - HTML Canvas arc 在错误的位置绘制 JavaScript

javascript - 使用 jspdf 创建的 PDF 文件太大

php - 脚本被 jQuery .load 剥离

javascript - 我将如何垂直对齐 JavaScript 文本?

html - 如何更改 bootstrap 4 selectpicker 的默认下拉颜色?

javascript - 将 Canvas 上绘制的图像的坐标保存在变量/对象-HTML5 中