圆形仪表,指示器(使用甜甜圈作为温度计样式的替代品)

时间:2012-03-10 20:11:57

标签: javascript html css flot dashboard

我正试图用某种圆环图来展示筹款活动的进展情况。许多人使用温度计样式或进度条,但我真的希望尽可能接近这样的东西:

在我花了很多时间研究之后,我想出了一个非常简单的解决方案,用flot绘制甜甜圈,这是演示:http://jsfiddle.net/6b7nZ

$(function () {
    var data = [
    { label: "Donated", data: 20, color: '#f00' },
    { label: "Goal", data: 78, color: '#D3D3D3' }
    ];    
    $.plot($("#donut"), data,
    {
        series: {
            pie: {
                innerRadius: 0.7,
                show: true,
                label: { show: false }
            }
        },
        legend: { show: false }
    });
});

我现在缺少的是添加居中标签的方法。 我不必说,如果有人能指出我的jQuery插件或类似的东西,它会更好。

2 个答案:

答案 0 :(得分:9)

好吧,something like this可行。我认为您希望将目标设定为100,但要使甜甜圈看起来像是反映了正确的百分比。

HTML

<div id="donutHolder">
    <div id="donut"></div>
    <span id="donutData"></span>   
</div>

CSS

#donutHolder {
    width: 350px;
    height: 350px;
    text-align: center;
    line-height: 350px;
    font-size: 80px;
    color: #f00;
    position: relative;
}

#donut {
    width: 100%;
    height: 100%;
}

#donutData {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
}

添加了JQuery

$("#donutData").text(Math.round(data[0].data/data[1].data*100)+"%");

答案 1 :(得分:0)

我创建了一个有用的(对我而言)因为此解决方案允许您使用less

在类中设置度数值
<div class="radial_meter radial-222">
  <span class="first"><em></em></span>
  <span class="second"><em></em></span>
</div>

您可以看到DEMO