圆形仪表,指示器(使用甜甜圈作为温度计样式的替代品)
Posted
技术标签:
【中文标题】圆形仪表,指示器(使用甜甜圈作为温度计样式的替代品)【英文标题】:Circular meter, indicator (using a donut as an alternative to a thermometer style) 【发布时间】:2012-03-27 19:58:36 【问题描述】:我正在尝试使用某种圆环图来显示筹款活动的进度。许多人为此使用温度计样式或进度条,但我真的很想尽可能接近这样的东西:
在我花了很多时间研究之后,我想出了一个使用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 插件或类似的东西,那就更好了。
【问题讨论】:
你确定只是在中间放了一个带有标签的div? 【参考方案1】:好吧,something like this 可以工作。但是,我认为您希望将目标设置为 100
,以使甜甜圈看起来反映了正确的百分比。
<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)+"%");
【讨论】:
正是我需要的。非常感谢! @Michal:对不起,但我不确定你的评论是什么意思。此示例中没有涉及“标签”元素,因此不清楚您的问题是什么。 我的问题是我想把这个例子和标签一起使用 @Michal:也许您应该发布另一个问题,将此问题引用为交叉引用,但在您的问题中,准确显示您尝试使用标签元素(您的 html 结构)实现的目标似乎工作正常。 这是工作代码的分支,标签处于活动状态:jsfiddle.net/h4oL3dv1 ...尽管如此,我已经找到了另一个解决方案【参考方案2】:我创建了这个有用的(对我来说),因为这个解决方案让您可以通过使用 less 在类内设置度数
<div class="radial_meter radial-222">
<span class="first"><em></em></span>
<span class="second"><em></em></span>
</div>
你可以看到DEMO
【讨论】:
以上是关于圆形仪表,指示器(使用甜甜圈作为温度计样式的替代品)的主要内容,如果未能解决你的问题,请参考以下文章