javascript - 单击按钮更新/重绘 Canvas

标签 javascript jquery canvas

我正在使用 cirque.js 插件来显示用 Canvas 绘制的圆圈百分比值。

这是一个JSFIDDLE我制作的应该包含插件代码的所有信息。

最初,使用正确的值正确绘制了圆。

问题:当我尝试通过单击按钮的函数更新值时,没有任何反应,不起作用,我认为 Canvas 需要使用新值再次绘制?

:如何异步更新圆圈百分比值?

$('.cirque').cirque ({ //this works
    radius: 40,
    value: 65,
    total: 100,
    trackColor: '#ccc',
    arcColor: '#5cb85c',
    label: 'percent',
    lineWidth: 12
});

$('#update').click(function (e) { 
    updateCircle(50); //this does not work
});

function updateCircle(val){ 
    $('.cirque').cirque ({
        radius: 40,
        value: val,
        total: 100,
        trackColor: '#ccc',
        arcColor: '#5cb85c',
        label: 'percent',
        lineWidth: 12
    });
}

最佳答案

我在这个插件中没有找到任何更新值的函数。但你可以用一个技巧来更新值。将具有类 cirquediv 替换为相同的 div 并使用新值对其进行初始化,如下所示。希望这会对您有所帮助。

function updateCircle(val){
    var cirque=$('<div class="cirque"></div>');
    $('.cirque').replaceWith(cirque);

    cirque.cirque ({
         radius: 40,
         value: val,
         total: 100,
         trackColor: '#ccc',
         arcColor: '#5cb85c',
         label: 'percent',
         lineWidth: 12
    }); 
}

更新的 fiddle :https://jsfiddle.net/8d9sw1yg/2/

关于javascript - 单击按钮更新/重绘 Canvas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34331662/

相关文章:

javascript - 纯 JavaScript 中的 HashMap 示例

jquery - 如果选择选项文本长度大于 10,则修剪 jQuery

php - 如何将内容加载到类似灯箱的叠加层中

javascript - HTML 5 Canvas : Uploaded image colour picker

javascript - 是否可以将具有相同属性的元素与 querySelectorAll 结合起来?

javascript - 如何在与客户端连接并行工作的 nodejs 服务器中创建异步函数?

javascript - 我可以在 Node 6 中表示大整数,仅进行求幂而不具有依赖性吗?

javascript - 为 HTML5 循环网格?

javascript - 在html5 Canvas 中绘制另一个图像下的图像

windows - Google Maps api v3 + canvas + chrome 导致 youtube 视频和 map 元素出现黑框